Как скрыть столбец в сетке данных с помощью компактной платформы .NET 3.5

У меня есть DataGrid, который использует DataReader в качестве источника данных. Я хочу скрыть первый столбец таблицы данных. Я использую компактную платформу .net 3.5. Я могу найти примеры форм Windows, но api изменился настолько, что они не работают.


person runxc1 Bret Ferrier    schedule 11.05.2009    source источник


Ответы (3)


Вы можете установить ширину стиля столбца на 0 или -1.

DataGridTableStyle ts = new DataGridTableStyle();
ts.MappingName = "Order";

// Order date column style
DataGridColumnStyle cust_id = new DataGridTextBoxColumn();
cust_id.MappingName = "cust_id";
cust_id.HeaderText = "ID";

//Hide Customer ID
cust_id.Width = -1;

ts.GridColumnStyles.Add(cust_id);

// Shipping name column style
DataGridColumnStyle cust_name = new DataGridTextBoxColumn();
cust_name.MappingName = "cust_name";
cust_name.HeaderText = "Customer";
cust_name.Width = 500;
ts.GridColumnStyles.Add(cust_name);

GridView1.TableStyles.Add(ts);
person NET Experts    schedule 02.03.2010
comment
Возможно, стоит упомянуть, что DataGridColumnStyle.MappingName должен быть уникальным. Для повторного изменения требуется GridColumnStyles.Clear () перед Add () или найти и изменить существующий ColStyle с правильным MappingName. - person Ben; 23.01.2019

В любом случае, прежде чем назначать источник данных, скройте столбцы, которые вы не хотите отображать:

ds.Tables("dtRecords").Columns("ID").ColumnMapping = MappingType.Hidden

Datagrid1.datasource = ds.Tables("dtRecords")
person Iralda Mitro    schedule 11.05.2009
comment
Это сработает, но, как я уже упоминал, я использую DataReader, а не DataTable. - person runxc1 Bret Ferrier; 11.05.2009
comment
@DaDa все равно, чтобы это работало с List ‹BusinessObj›? Спасибо. - person One-One; 18.01.2012

Я только что решил эту проблему, используя DataGridTableStyle и GridColumnStyles, как говорит Хенк. Но я также присвоил свойству Width в GridColumnStyle значение -1.

И это работает !!

person Community    schedule 09.07.2009