У меня есть DataGrid, который использует DataReader в качестве источника данных. Я хочу скрыть первый столбец таблицы данных. Я использую .net Compact Framework 3.5. Я могу найти примеры для форм Windows, но API достаточно изменился, чтобы они не работали.
Вы можете установить ширину стиля столбца 0 или -1.
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);
В любом случае, перед вами назначьте источник данных, скройте столбцы, которые вы не хотите показывать:
ds.Tables("dtRecords").Columns("ID").ColumnMapping = MappingType.Hidden Datagrid1.datasource = ds.Tables("dtRecords")
Я только что решил эту проблему, используя DataGridTableStyle и GridColumnStyles, как говорит Хенк. Но я также назначил свойству Width в GridColumnStyle значение -1.
И это работает !!