dataGridView如何获取不显示的字段的值?
我的dataGridView的数据源有很多列,我只显示name列,AutoGenerateColumns=false,不自动加载所有列。
获取当前单元格时出现问题,无法获取没显示的字段的值,有什么办法吗?这种获取值的情况经常发生,不可能把所有列都加载,然后再隐藏掉不要的列,那样太麻烦了。
private void Form1_Load(object sender, EventArgs e)
{
dataGridView1.AutoGenerateColumns = false;//手工值绑定了name列,id列不显示
ds = new DataSet();
con = new SqlConnection(constr);
sda = new SqlDataAdapter("select id,name,age,memo,date from test", con);
sda.Fill(ds);
DataTable dt = new DataTable();
dt = ds.Tables[0];
}
private void button1_Click(object sender, EventArgs e)
{
if (dataGridView1.RowCount>0)
{
this.Text = dataGridView1.CurrentRow.Cells["id"].Value.ToString();
//上面获取id的值出错,因为id列没有显示,无法获取
}
}
------解决方案--------------------中间介入一个bindingsource 就ok了,bindingsouce的当前项就是完整的datarow信息