问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

c#关于数据在两个from的datagridview上互用?

发布网友 发布时间:2023-04-25 05:41

我来回答

2个回答

热心网友 时间:2023-10-14 14:52

在form1的dgv上绑定鼠标右击事件,在事件里面获取当前选中行的数据源中的数据行然后将得到的数据行通过转换或者直接传递给form2,在form2里面定制一个委托用来更新form1中的dgv使用的数据源。

更简单的就是form1和form2共用同一个数据源,从form1传递选中行的数据源对应的index,在form2里面将对应的数据行绑定出来,修改就行了追问有简单的逻辑代码么 发来看看吧 谢谢

追答public partial class Form3 : Form
{
public Form3(){InitializeComponent();}
private void Form3_Load(object sender, EventArgs e){DataTable dt = new DataTable();dt.Columns.Add("proctname", typeof(String));dt.Columns.Add("number", typeof(int));for (var i = 0; i < 30; i++){DataRow row = dt.NewRow();row["proctname"] = "产品" + i;row["number"] = new Random(Guid.NewGuid().GetHashCode()).Next(0, 10000);
dt.Rows.Add(row);
}
dataGridView1.DataSource = dt;
}

private void dataGridView1_CellMouseDown(object sender, DataGridViewCellMouseEventArgs e)
{
if (e.RowIndex == -1 || e.ColumnIndex == -1)
{
return;
}
if (e.Button != MouseButtons.Right) return;
DataTable dt = dataGridView1.DataSource as DataTable;
int i = dt.Rows.Count;
DataRow row = dt.Rows[e.RowIndex];
Form4 f = new Form4(row, e.RowIndex);
f.Show();
f.doSaveOperate += new Form4.saveData(f_doSaveOperate);
}
void f_doSaveOperate(DataRow row, int rowIndex)
{
DataTable dt = dataGridView1.DataSource as DataTable;
dt.Rows[rowIndex]["proctname"] = row["proctname"];
dt.Rows[rowIndex]["number"] = row["number"];
dataGridView1.DataSource = dt;
}
}
}
public partial class Form4 : Form
{public delegate void saveData(DataRow row, int rowIndex);
public event saveData doSaveOperate;
DataRow _row;
int _rowIndex;
public Form4(DataRow row, int rowIndex){_row = row;_rowIndex = rowIndex;InitializeComponent(); }
private void Form4_Load(object sender, EventArgs e)
{ textBox1.Text = _row["proctname"].ToString(); textBox2.Text = _row["number"].ToString();}
private void button1_Click(object sender, EventArgs e){_row["proctname"] = textBox1.Text;_row["number"] = textBox2.Text;doSaveOperate(_row, _rowIndex);}
}

热心网友 时间:2023-10-14 14:52

进行编译?如果只是传递数据,可选择传递整个数据源、也可以传递行数据对象
可以在form2的构造函数修改一下,如:
class form2:Winform
{
form2(Datatable dt)
{
dgv.DataSource=dt;
}
}
当用户右键选中时,怎可以实例化form2,传递表对象;如果想只传递一行,那可以直接使用Datatable中的DataRow对象进行传递啊
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
手机系统怎么更新(手机系统怎么更新到最新版本) 手机操作系统怎么升级最新版本呢 ...一下有没有那种模仿声音的东西,自己给老班打电话时发出的时成年人声... ...经纬线的说法,正确的是( )A.纬线是与地轴垂直并环绕地球的半圆B... 下列有关纬线的说法,正确的是( )A.所有纬线长度都相等B.纬线都是半 ... 下列有关经纬线的说法,错误的是( )A.地球仪上能画无数条经线B.所有纬 ... 关于纬线和纬度的叙述,不正确的是( )A.纬线指示南北方向B.北纬用“N... 纬线的特征中说法错误的是( ) A.所有纬线相互平行 B.纬线等长 C.同一纬... 下列关于纬线的说法,不正确的是( )A.所有纬线都自成圆圈B.纬线长度都... 关于纬线的说法,错误的是( ) A.纬度越高,纬线越短 B.纬线都是圆圈 C... 请问如何用一条网线实现两台电脑的数据互传啊~ 究悉的成语究悉的成语是什么 忝_的解释忝_的解释是什么 苹果静音老是忘打开怎么办越狱过了有什么插件可以下载吗还是咋弄 苹果手机511越狱后玩游戏卡还闪退需要在cydia下载什么插件 石墨文档怎样设置表格 秋风梧叶送寒意的意思是什么? 寒意脉脉是什么意思? 寒意的意思 封了怎么解封? 怎么自助解封? 怎么才可以解封? 哪个论坛有linux视频关于rhce的 港汊的诗句港汊的诗句是什么 网球王子里那首《樱花》的歌词 哪位知道森山直太郎 《樱花》 的日文歌词? 怎么删除猫脸趣看 苹果手机鹅鹅趣看怎么删除 山羊趣看怎么卸载? 山羊趣看如何卸载 兴平408新什么 从朝阳街到万柏林区建北巷建北408小区有公交车吗 长沙高新开发区桐梓坡西路408麓谷林语小区属于哪个派出所管 小区15号两座408什么意思? 我买的房子是5层电梯房,买的4楼,是408,请问房间好吗? 关于木杆秤的度量衡 杆秤的成语杆秤的成语是什么 专业登山裤优点 登高证有几种 爬山时哪种方式更科学 幼儿园春游的目的和意义 揽境中控风格怎么调 小学生春游的目的是什么 怎样设置揽境车标显示在中控屏上 揽境音量调节按钮无背光 青岛现在有没有苹果手机专卖店 就算没有的话哪里有卖真机的店? 智足以营身,而不失其志,进可以问鼎,而抑己从理 是什么意思 老舍这种抑己扬人的开场白有什么作用 真心得不到回应,还会傻傻等待的星座有哪些? 花呗总计待还是什么意思 花呗总计待还指的是什么