日期:2014-05-17  浏览次数:20989 次

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信息