情况这样的
winform程序我有个datagridview中有一列是combox下拉框列,我就要把下拉框中的值选定取出来,
注意请不要告诉我是写在事件中,因为我是要遍历datagridview然后取值出来 DataGridViewComboBoxCell dgc=dataGridView1.Rows[0].Cells[5] as DataGridViewComboBoxCell;
string s = dgc.Value.ToString(); //不对 dgc.items[0].tostring(); //能取出第0列,这样OK,关键中间的0项我是动态的,怎么取呢?
winform程序我有个datagridview中有一列是combox下拉框列,我就要把下拉框中的值选定取出来,
注意请不要告诉我是写在事件中,因为我是要遍历datagridview然后取值出来 DataGridViewComboBoxCell dgc=dataGridView1.Rows[0].Cells[5] as DataGridViewComboBoxCell;
string s = dgc.Value.ToString(); //不对 dgc.items[0].tostring(); //能取出第0列,这样OK,关键中间的0项我是动态的,怎么取呢?
{
combox cbk =(combox)datagridview1.Rows[i].FindControl("comboxID");
}
第2:就是 DataGridViewComboBoxCell dgc=dataGridView1.Rows[0].Cells[5] as DataGridViewComboBoxCell;
string s = dgc.Value.ToString(); //就这句我取不出值来,cell[5]是datagrid
comboxcell, 我怎么取出下拉框当前选定值,我的问题是我取不出值来
string s = val == null ? "" : val.ToString();
2
3
4
5但是就是无法取出,你写的是当不为null的时候输出,现在就为Null,但不是我想要的值
这样难道不行吗??
为什么我这里怎么都能去出数来?
他是combox的,我确实取不出来,你的是textbox吧? 我手动在界面上点击三角然后赋值给item的,真取不出来啊
object val = dataGridView1.Rows[0].Cells[5].Value;
string s = val == null ? "" : val.ToString(); 他干什么啊? 你自己看看你这个是我要取的值吗? 根本“” 和null都不是我要取的值, 服你了,你看好再答行不? 他俩都不是正确的值,我还判断他俩干啥?
打个比方: 你要生个自己的儿子,结果你生下来的根本不是自己的儿子,然后你问我应该怎样才能生个自己的儿子,别人缺告诉你,你把你第1个生下来的儿子教他唱歌,他要不会唱歌你教他跳舞, 简直答非所问。
string s = dgc.Value.ToString(); //不对 dgc.items[0].tostring(); //能取出第0列,这样OK,关键中间的0项我是动态的,怎么取呢?
DataGridViewComboBoxCell dgc=dataGridView1.Rows[0].Cells[5] as DataGridViewComboBoxCell;
这句中 dgc 是DataGridViewComboBoxCell类型的模板单元格,也可以说是一个下拉列表这句 string s = dgc.Value.ToString(); //不对
可能是还未提交或者其它因素让这个单元格的Value为空造成的.dgc.items[0].tostring(); 返回下拉列表内的第一个元素转换的字符串
然后 我给你的object val = dataGridView1.Rows[0].Cells[5].Value;
获得dataGridView1第1行第6个单元格的值string s = val == null ? "" : val.ToString();
当val为空时返回空字符串,不为空时返回转换后的字符串.其实你不用管它是什么类型的列.ComboBox也好TextBox 也好,你只要去取DataGridView里的单元格的值就得了.
当有一列为下拉框绑定时,像如下
DataGridViewComboBoxColumn dgvcc = (DataGridViewComboBoxColumn)dgvDetail.Columns["下拉框那一列"];
dgvcc.DataSource = source;
dgvcc.DisplayMember = "Value";
dgvcc.ValueMember = "Key";当要取得该列的某个cell的key时,如下
dgv.rows[x].cells[y].value
当要取得该列的某个cell的value时,如下
dgv.rows[x].cells[y].EditedFormattedValue或者dgv.rows[x].cells[y].FormattedValue
相信应该明白了吧。