2011-07-26 4 views
0

データグリッド内の列を不可視に設定する方法が不思議でした。ここにいくつかのコードがあります...DataGridの列を不可視に設定する

 else if (combo_View.Text == "Orders") 
     { 

      da.SelectCommand = new OleDbCommand("SELECT * FROM TestQuery WHERE (VendorName = @VendorName OR @VendorName = '') AND (CustomerName = @CustomerName OR @CustomerName = '') AND ((@From IS NULL AND @To IS NULL) OR orderDate BETWEEN @From AND @To) AND (ItemNum = @ItemNum OR @ItemNum = '') AND (PO = @PO OR @PO = '') ORDER BY CustomerName", cs); 

      da.SelectCommand.Parameters.Add("@VendorName", OleDbType.VarChar).Value = combo_VendorView.Text.ToString(); 
      da.SelectCommand.Parameters.Add("@CustomerName", OleDbType.VarChar).Value = combo_CustomerView.Text.ToString(); 

      if (!chk_viewAllDates.Checked) 
      { 
       da.SelectCommand.Parameters.Add("@From", OleDbType.Date).Value = "#" + tp_viewFrom.Value.Date.ToString("M/d/yyyy") + "#"; 
       da.SelectCommand.Parameters.Add("@To", OleDbType.Date).Value = "#" + tp_viewTo.Value.Date.ToString("M/d/yyyy") + "#"; 
      } 

      else 
      { 
       da.SelectCommand.Parameters.Add("@From", OleDbType.Date).Value = DBNull.Value; 
       da.SelectCommand.Parameters.Add("@To", OleDbType.Date).Value = DBNull.Value; 
      } 

      da.SelectCommand.Parameters.Add("@PO", OleDbType.VarChar).Value = txt_POLookup.Text.ToString(); 
      da.SelectCommand.Parameters.Add("@ItemNum", OleDbType.VarChar).Value = combo_ItemNumLookup.Text.ToString(); 

      dsB.Clear(); 
      da.Fill(dsB); 

      tblEditBS.DataSource = dsB.Tables[0]; 
      dgv_DataLookup.DataSource = tblEditBS; 



     } 

第14列のインデックスは注文ID /主キーです。私はそれを表示する必要はありませんが、自分の編集機能を動作させるために私のSQLに含める必要があります。私はこのようなものが欲しいです

dsB.Clear(); 
dsB.Tables[0].Columns[14].Visible = false; 
da.Fill(dsB); 

残念ながら、それは有効なコマンドではありません。私が何をしようとしているのか分かるなら、私を助けてください。ありがとう!

p.s. - WinformsとC#のネット。 Visual Studio 2010でOLEDBデータベースタイプ(アクセス)

答えて

1

これは2通りあります。あなたがあなたのdatagridview

dataGridView1.Columns[14].Visible = false; 

またはあなたのDataGridViewがそれに割り当てられたデータソースを持っている場合は、DataGridViewの中propertiesからそれを行うことができますをロードするときに目に見えないしたいあなたの列を指定するコードで

。あなたのdatagridviewのデザインビューに移動し、あなたのdatagridviewを選択します。プロパティを開き、Columnsを選択します。ポップアップダイアログから

enter image description here

あなたは非表示/したい列のいずれかを表示することができます。

enter image description here

+0

すごいそれは簡単でした。私が決して考えなかったことは、私が持っているかもしれないと思うが、なんらかの理由でそれは仕事をしなかった。ありがとう! –

3

DataGridのVisible-Propertyを設定しようとしましたか? 例:

dataGridView1.Columns [14] .Visible = false;

+0

良い答えのおかげ –

関連する問題