2011-07-26 46 views
0

我想知道如何在我的数据网格中设置一个不可见的列。这里是一些代码...将数据网格中的列设置为不可见

 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#.net。 Visual Studio 2010与OLEDB数据库类型(访问)

回答

1

您可以通过2种方式来完成。

在你指定列中的代码,你想看不见的,当你加载datagridview

dataGridView1.Columns[14].Visible = false; 

或者你也可以在DataGridView如果DataGridView中有分配给它的数据源来自properties做到这一点。转到datagriview的设计视图,选择你的datagridview。打开它的属性,选择Columns

enter image description here

从弹出的对话框中,您可以显示/隐藏任何你想要的列。

enter image description here

+0

哇,这很容易。不知道我从来没有想过我认为我可能有,但由于某种原因,它没有工作。谢谢! –

3

您是否尝试设置数据网格的Visible-Property? 示例:

dataGridView1.Columns [14] .Visible = false;

+0

很好的回答感谢 –

相关问题