关于DataGridView中双击一个单元格后弹出对应的一个数据库窗口 我现在在form中有一个数据库,上面有很多数据,现在就想双击第一行后弹出一个对应的数据库,可以编辑数据,双击第二行后,弹出另一个对应的数据库,以此类推,双击每一行就弹出不同的数据库,(如有不明,请说明哪里讲的不太清楚)谢谢。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 不明白!费解!是不是想双击的时候再弹出有一个datagridview啊?而且是另外一个数据表? 按楼主的想法,应该是弹出一个窗口,上面是可以编辑的这条记录的。比如textbox呈现字段的。但是你点一次,弹一个,点100次,弹100个窗口会不会多啊?^_^如果你的记录固定就是比如,4个字段,id,a,b,c,你可以做一个统一的窗体form_1,上面就放三个textbox,当点击父窗体,传进一个id,你where后,在子窗体的textbox中绑定a,b,c,就可以了。记住要,模式窗口,改为后点击确定,重新绑定一下父窗体的dataGridView就行了。触发的事件,就跟楼上说的一样,单元格点击事件。 private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e) { int i = e.RowIndex;//获取点击的行号 if (i != this.dataGridView1.RowCount-1 && e.RowIndex >= 0) { if (sc.getDatainfo(this.dataGridView2[2, i].Value.ToString()).Rows.Count > 0) { DataTable dt = new DataTable(); dt = sc.getDatainfo(this.dataGridView2[2, i].Value.ToString()); textBox2.Text = dt.Rows[0].ItemArray[3].ToString(); tb22.Text = dt.Rows[0].ItemArray[11].ToString(); cb5.Text = dt.Rows[0].ItemArray[12].ToString(); cb6.Text = dt.Rows[0].ItemArray[13].ToString(); cb7.Text = dt.Rows[0].ItemArray[14].ToString(); tb25.Text = dt.Rows[0].ItemArray[17].ToString(); } }} this.dataGridView2[2, i].Value.ToString()是获取你要的值 1.你在form中不是有一个数据库,而是一个datagridview;2.把datagridview的SelectionMode改成FullRowSelect;3.触发其private void dataGridView1_CellDoubleClick(object sender, DataGridViewCellEventArgs e) { //双击后弹出一个窗体,该窗体所需内容,从这边传入。 } 唉!越后面是越落伍啊!能他的Form里面有很多数据库。还要弹出数据库。那别人做什么数据连接与数据库交互! 应该是他说他的form里面有一个数据表。里面有很多条数据记录。要求点击每一行数据都可以弹出一个新的Form来显示这行的数据。可以修改这行的数据,保存再传回到Parent Form里面来。这样根本就是多做。datagridview不是可以直接修改吗? datagridview可以直接修改,但是有意义吗?那些数据没有和后台数据库进行交互!所有最合适的方法显然是双击datagridview的某一行,然后弹出另外一个窗体。该窗体里拥有该行datagridview里的数据。建议多了解CS架构下的基本原理。 我的form1里面有一个数据库,数据库里面有一些客户的名单,我想双击每一个客户的名字,就可以调出和这个客户所有信息,这样说大家可以明白吗? 把 gridview 控件 改写 选中整行,在双击事件中写 代码,去到 当前行的 dataroview dv= gv.selectedrows[0].databin... da datarowview ;dv[id].tostring(); 你拿到id 就可以取值,改变数据了把。你还是想,双击 整行可以编辑啊。在行状态改变是保存 就行了。 在FORM中插入数据库,挺厉害的,能不能给大家介绍一下,学习学习啊? 求大神帮助,我要做电子病历编辑器。希望给个思路。基本是word二次开发 读Excel 数据丢失 更改框架版本 .NET里 为什么我的CSS样式是黑色的字体呢 线程的声明方法 控制2个进程之间的切换?急啊 关于在Winform中拖拽文件夹及文件 如何让oracle不区分大小写。 C#修改指定文件夹的文件名 用npoi导出复杂格式的excel报表 请问一个最最基础的winform问题 母页按钮操作内容页控件的问题
是不是想双击的时候再弹出有一个datagridview啊?
而且是另外一个数据表?
但是你点一次,弹一个,点100次,弹100个窗口会不会多啊?^_^如果你的记录固定就是比如,4个字段,id,a,b,c,你可以做一个统一的窗体form_1,上面就放三个textbox,当点击父窗体,传进一个id,你where后,在子窗体的textbox中绑定a,b,c,就可以了。
记住要,模式窗口,改为后点击确定,重新绑定一下父窗体的dataGridView就行了。触发的事件,就跟楼上说的一样,单元格点击事件。
{
int i = e.RowIndex;//获取点击的行号
if (i != this.dataGridView1.RowCount-1 && e.RowIndex >= 0)
{
if (sc.getDatainfo(this.dataGridView2[2, i].Value.ToString()).Rows.Count > 0)
{
DataTable dt = new DataTable();
dt = sc.getDatainfo(this.dataGridView2[2, i].Value.ToString());
textBox2.Text = dt.Rows[0].ItemArray[3].ToString();
tb22.Text = dt.Rows[0].ItemArray[11].ToString();
cb5.Text = dt.Rows[0].ItemArray[12].ToString();
cb6.Text = dt.Rows[0].ItemArray[13].ToString();
cb7.Text = dt.Rows[0].ItemArray[14].ToString();
tb25.Text = dt.Rows[0].ItemArray[17].ToString();
}
}
}
2.把datagridview的SelectionMode改成FullRowSelect;
3.触发其private void dataGridView1_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
{
//双击后弹出一个窗体,该窗体所需内容,从这边传入。
}
datagridview可以直接修改,但是有意义吗?
那些数据没有和后台数据库进行交互!
所有最合适的方法显然是双击datagridview的某一行,然后弹出另外一个窗体。
该窗体里拥有该行datagridview里的数据。
建议多了解CS架构下的基本原理。
dv[id].tostring();
你拿到id 就可以取值,改变数据了把。
你还是想,双击 整行可以编辑啊。在行状态改变是保存 就行了。