我有一个数据网格视图(选择模式:FullRowSelect)沿着一些文本框,所以我想做的是,每当用户选择一行(可能是单击或双击)时,该行的内容必须显示在文本框中,
我试过这个代码:
private void dataGridView1_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
{
MessageBox.Show("CEll Double_Click event calls");
int rowIndex = e.RowIndex;
DataGridViewRow row = dataGridView1.Rows[rowIndex];
textBox5.Text = row.Cells[1].Value;
}
private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
{
int rowIndex = e.RowIndex;
DataGridViewRow row = dataGridView1.Rows[rowIndex];
textBox5.Text = dataGridView1.Rows[1].Cells[1].Value.ToString();// row.Cells[1].Value;
}
还有许多其他的文本框,但主要的问题是似乎没有一个事件被触发,我应该使用什么事件来触发,或者是我可能设置错了datagrid的某个属性吗?如果有任何帮助,我将不胜感激...:(
6条答案
按热度按时间vnzz0bqm1#
由于您使用的是FullRowSelect选择模式,因此可以使用SelectionChanged事件。然后,在处理程序内部,您可以访问SelectedRows属性并从中获取数据。示例:
您还可以遍历列集合,而不是键入索引...
sg24os4d2#
您可以尝试此单击事件
vxqlmq5t3#
首先获取一个标签,将其可见性设置为false,然后在DataGridView_CellClick事件上编写以下内容
kqhtkvqz4#
您应该检查设计器文件。打开Form1.Designer.cs并找到此行:
展开它,你会看到很多代码,所以如果没有放置它,检查这一行是否在datagridview1控件内部。
希望能有所帮助。
2g32fytz5#
简单的解法如下,这是对vale解法的改进。
请注意,对于其他读者来说,要使上面的代码工作,应该使用
FullRowSelect
数据网格视图选择模式。如果选择了两行以上,您可以扩展此模式以给予消息。epggiuax6#
您可以使用SelectionChanged事件。CurrentRow。DataBoundItem将给予绑定项。
SelectionMode属性应为整行选择。
变量项=([转换为绑定项])数据网格位置.当前行.数据绑定项; tbxEditLocation.文本=项目.名称;