2009-05-11 8 views
4

データソースとしてDataReaderを使用しているDataGridがあります。私は、DataGridの最初の列を非表示にしたい。私は.netコンパクトなフレームワーク3.5を使用しています。私はWindowsフォームの例を見つけることができますが、APIは動作しないくらい十分に変更されています。いずれにしてもどのように.netコンパクトなフレームワークを使用してデータグリッドの列を非表示にしますか?

答えて

11

カラムスタイルの幅を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); 
3

、あなたが表示したくない列を非表示に、データソースを割り当てる 前:

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

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

これは機能しますが、私が言及したように、私はDataReaderを使用していますが、DataTableを使用していません。 –

+1

これは私にとっては役に立ちません。どんな考え?とにかくこのリストをとするには – Ash

+0

@DaDa?ありがとう。 –

2

ヘンクが言うように、私はただのDataGridTableStyleとGridColumnStylesを使用してこの問題を解決しました。しかし、私はGridColumnStyleのWidthプロパティを-1に割り当てました。

そして、それは動作します!

関連する問題