双击事件,获得选中行,通过数据库查到数据,赋值给DataGridView2
DoubleClick事件,DataRow row = thisDataGridView1CurrentRowDataBound as DataRow;
string id = row["ID"]ToString();
DataTable dt = 查询出来的第二个数据集;
DataGridView2DataSource = dt;
这个每个控件,都是由事件触发方法。你在双击的事件中。判断,抓出那条数据。
数据的格式,你可以自己存个structs,或者自己存个类,或者自己使用方法存放。
然后把这个封装的数据类型,作为参数,触发另外一个方法,
这个方法你自己写,参数就是刚才抓到的数据类型。方法的功能就是把参数分析后,填充到第二个datagridview2中。
可以设置DataGridView的SelectionMode属性为FullRowSelect 实现左键点击选取整行,右击的话就需要在鼠标点击事件里面实现了
如下:
private void dataGridView1_CellMouseClick(object sender, DataGridViewCellMouseEventArgs e)
{
if (eColumnIndex < 0 || eRowIndex < 0) return;
if (eButton == SystemWindowsFormsMouseButtonsRight)
{
dataGridView1Rows[eRowIndex]Cells[eColumnIndex]Selected = true;
}
}
右键菜单自己设置关联上dgv就可以,右键菜单的按钮点击事件内容如下:
if (dataGridView1CurrentRow == null) return;
DataGridViewRow dgvr = dataGridView1CurrentRow;
string val = dgvrCells[""]ValueToString();你自己要获取的数据
Form1:
public static string[] a;
private void dataGridView1_DoubleClick(object sender, EventArgs e)//添加datagridview1的双击事件
{
try
{
int index = dataGridView1CurrentRowIndex;
a = new string[dataGridView1ColumnCount];
for (int i = 0; i < dataGridView1ColumnCount; i++)
{
a[i] = dataGridView1Rows[index]Cells[i]ValueToString();
}
Form2 f2 = new Form2();
f2Show();
}
catch { }
}
Form2://
public Form2()
{
InitializeComponent();
showGridView();
}
private void showGridView()
{
DataGridTextBoxColumn tb = new DataGridTextBoxColumn();
dataGridView1RowsAdd(tb);
for (int i = 0; i < dataGridView1ColumnCount;i++ )
dataGridView1Rows[dataGridView1RowCount-2]Cells[i]Value = Form1a[i];//根据AllowUserToAddRow属性选择最后一行,true时dataGridView1RowCount-2,false时dataGridView1RowCount-1
}
你的 dgv_CellDoubleClick 函数这样:
void dgv_CellDoubleClick(object sender, DataGridViewCellEventArgs e){
DataGridView tempGdv =sender as DataGridView;//获取事件发送者
if(eRowIndex>-1&&eColumnIndex>-1)//防止 Index 出错
{
String tempStr=tempGdvRows[eRowIndex]Cells[0]ValueToString();
}
}
以上就是关于c#双击dataGridView1一行数据根ID查询数据库另一个表ID数据在dataGridView2显示全部的内容,包括:c#双击dataGridView1一行数据根ID查询数据库另一个表ID数据在dataGridView2显示、如何在C#中 双击datagridview1中的一行数据,添加到新的datagridview2中。 B/C VS2010、c#datagridview 如何选中行,以及怎么获取选中行的数据等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)