从数据网格视图中隐藏 id 列,但需要使用它

本文关键字:id 数据网 数据 网格 视图 隐藏 | 更新日期: 2023-09-27 18:36:42

我想从数据网格视图中隐藏id列。我尝试通过更改存储过程/SQL查询,它可以工作,但由于某种原因我无法获取该条目的id,我还需要每个条目的id,但不想显示在前端。

有什么建议吗?

private void category_Load(object sender, EventArgs e)
{
    // TODO: This line of code loads data into the 'shopBillingDataSet.category' table. You can move, or remove it, as needed.
    this.categoryTableAdapter.Fill(this.shopBillingDataSet.category);
    button3.Enabled = false;
    button1.Enabled = true;
}
private void button1_Click(object sender, EventArgs e)
{
    BSL.category obj = new BSL.category();
    obj.catName = textBox1.Text;
    obj.catDesc = textBox2.Text;
    DAL.categoryDAL obj1 = new categoryDAL();
    obj1.addCategory(obj);
    this.categoryTableAdapter.Fill(this.shopBillingDataSet.category);
    textBox1.Text = "";
    textBox2.Text = "";
    MessageBox.Show("New Category entered");
    category_Load(sender,e);
}

从数据网格视图中隐藏 id 列,但需要使用它

正如评论所说,你可以这样做:

dgName.Columns[i].Visible = false;

或者,如果要绑定到类,则可以在数据值上设置自定义属性,如下所示:

public class Row {
   [Browsable(false)]
   public int Id {get;set;}
   public string Name {get;set;}
}
//dgName.DataSource = new BindingList<Row>();

*编辑:显然你不想绑定到一个空列表...但是,无论您如何填充列表,这都只是显示了如何使用可浏览属性。

首先绑定网格,然后尝试此代码。

GridViewId.Columns[index].Visible = false;//Put index number to hide the Columns like 0,1 etc..

参考 : 更多详情