如何使用.net compact framework 3.5在数据网格中隐藏列

时间:2009-05-11 18:11:52

标签: c# .net datagrid windows-mobile compact-framework

我有一个使用DataReader作为其数据源的DataGrid。我想隐藏数据网格的第一列。我正在使用.net紧凑框架3.5。我可以找到Windows窗体的示例,但api已经改变到足以使它们不起作用。

3 个答案:

答案 0 :(得分:12)

您可以将列样式宽度设置为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);

答案 1 :(得分:3)

无论如何,在你之前 分配数据源,隐藏您不想显示的列:

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

Datagrid1.datasource = ds.Tables("dtRecords")

答案 2 :(得分:2)

正如Henk所说,我刚刚使用DataGridTableStyle和GridColumnStyles解决了这个问题。但是,我也将GridColumnStyle中的Width属性指定为-1。

而且,它有效!!