c#双击dataGridView1一行数据根ID查询数据库另一个表ID数据在dataGridView2显示

c#双击dataGridView1一行数据根ID查询数据库另一个表ID数据在dataGridView2显示,第1张

双击事件,获得选中行,通过数据库查到数据,赋值给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 如何选中行,以及怎么获取选中行的数据等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9289476.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-26
下一篇 2023-04-26

发表评论

登录后才能评论

评论列表(0条)

保存