datagridview问题~~~! 在form 之间切换的时候 datagridview里面数据的状态是保持的, 但不存入数据库 如果用户点击按钮之后 存入数据库 这个如何实现哦??有代码更好了哈= = 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 切换Form的时候,如果你的Form不是新创建,DataGridView的数据就是保持的点击按钮的时候,循环遍历DataGridView的行,存入数据库 SqlConnection thisConnection = new SqlConnection( @"Server=.;Integrated Security=True;" + "Database=northwind"); SqlDataAdapter thisAdapter = new SqlDataAdapter( "SELECT CustomerID, CompanyName FROM Customers where 1=2", thisConnection); SqlCommandBuilder thisBuilder = new SqlCommandBuilder(thisAdapter); DataSet thisDataSet = new DataSet(); thisAdapter.Fill(thisDataSet, "Customers"); DataRow thisRow = thisDataSet.Tables["Customers"].NewRow(); thisRow["CustomerID"] = "ZAZI"; thisRow["CompanyName"] = "Zachary Zithd."; thisDataSet.Tables["Customers"].Rows.Add(thisRow); thisAdapter.Update(thisDataSet, "Customers"); thisConnection.Close(); 怎么确定这个Form是不是新建的?一般都是 (form名).(定义名)= new (form名)(); 然后 (定义名).show(); //按钮单击事件中,循环插入数据库 for (int i = 0; i < this.dataGridView1.Rows.Count-1; i++) { //数据库连接就自己写吧 strSql = "insert into 数据库" opAcc.executeSql(strSql); } 你切换窗体后,只要没有关闭,数据就是保留的,,你可以把有DataGridView的窗体对象传递到,你切换的窗体类中去,,DataGridView的访问属性为public就可以在切换的窗体上对DataGridView中的数据保存 楼主的多个窗体的datagridview是绑定的一个数据源吗?还是每个窗体的datagridview都不相同?窗体之间的切换不会影响到datagridview的状态的啊,只要你不让他保存。 恩 连接的是一个access文件里面的几个表回复Sandy945 大大的话 恩 之前自己弄了下 可是怎么都弄不成功。。只好再来问了。。 直接在绑定的数据源上执行DataTable的GetChanges就能够获得所有的更改。不用遍历什么DataGridView。 >< 没看题... 看着lz的图象 我就乐了... 通过Button 和 Treeview咯= = (form名).(定义名)= new (form名)(); (定义名).show(); 就这样做的啊 然后在打开的Form里面运行一个打开表的变量= =在这里弱弱的说一句= = 在Form里面我没有绑定数据源 我是通过oledb直接打开的= = 假设 你现在有 两个 Form , Form1 与 Form2你现在打开了 Form1 ,然后 在Form1 的一个Button 中 要打开Form2 Form2 form =new Form2();form.Show(); 现在你的Form1 不隐藏么?你打开Form2 之后 在切换回来, Form1 的内容就是你改变的内容 在这里弱弱的说一句= = 在Form里面我没有绑定数据源 我是通过oledb直接打开的= = -----------------------------------------------------------dataGridView1.DataSource=...这个也没有么? 现在你的Form1 不隐藏么? 你打开Form2 之后 在切换回来, Form1 的内容就是你改变的内容 不太懂这句= = Form1 不隐藏 ,那 就会两个 Form 都是 Show 的状态-----------你打开Form2 之后 在切换回来, Form1 的内容就是你改变的内容Form2 Show 再 Close , Form1 的内容就是你之前操作的内容不知道你说的状态改变 是什么情况 如果按你这么说的话 应该是close了Form1 然后打开Form2吧= =再打开Form1 Form2又关闭了。。 你两个Form 间的 数据源是一样的么? 你可以用session变量来把DataGridView的值保存了,这样在页面关闭之前这个值就一直可以用啊。 关于datagrid合并相同列 想自己做用户控件,求教程~~~~~~~~~~~~~~~~~~ 求一正则表达式 数字IP转换成字符串IP,怎么转换效率更高?(有代码) 怎样来设置WinForm里DataGrid中每行的设定的高度(高度不相等)! 整个VB.net工程转成C#工程~~脑残老板的决定!~!!! 如何在无客户端情况下远程执行windows程序 C# winform Wcf分布式开发程序怎么调试服务端的程序 字符替换的问题 磁盘类型为DRIVE_FIXED,则对应的整型值是多少?? 自定义TableLayoutPanel出错 WPF 默认事件
点击按钮的时候,循环遍历DataGridView的行,存入数据库
@"Server=.;Integrated Security=True;" +
"Database=northwind"); SqlDataAdapter thisAdapter = new SqlDataAdapter(
"SELECT CustomerID, CompanyName FROM Customers where 1=2", thisConnection); SqlCommandBuilder thisBuilder = new SqlCommandBuilder(thisAdapter); DataSet thisDataSet = new DataSet();
thisAdapter.Fill(thisDataSet, "Customers");
DataRow thisRow = thisDataSet.Tables["Customers"].NewRow();
thisRow["CustomerID"] = "ZAZI";
thisRow["CompanyName"] = "Zachary Zithd.";
thisDataSet.Tables["Customers"].Rows.Add(thisRow);
thisAdapter.Update(thisDataSet, "Customers"); thisConnection.Close();
一般都是 (form名).(定义名)= new (form名)();
然后 (定义名).show();
//按钮单击事件中,循环插入数据库
for (int i = 0; i < this.dataGridView1.Rows.Count-1; i++)
{
//数据库连接就自己写吧
strSql = "insert into 数据库"
opAcc.executeSql(strSql);
}
你切换窗体后,只要没有关闭,数据就是保留的,,你可以把有
DataGridView的窗体对象传递到,你切换的窗体类中去,,DataGridView的访问属性为public就可以在切换的窗体上对DataGridView中的数据保存
回复Sandy945 大大的话 恩 之前自己弄了下 可是怎么都弄不成功。。只好再来问了。。
(定义名).show(); 就这样做的啊 然后在打开的Form里面运行一个打开表的变量= =在这里弱弱的说一句= = 在Form里面我没有绑定数据源 我是通过oledb直接打开的= =
form.Show();
现在你的Form1 不隐藏么?你打开Form2 之后 在切换回来, Form1 的内容就是你改变的内容
-----------------------------------------------------------
dataGridView1.DataSource=...这个也没有么?
不太懂这句= =
-----------你打开Form2 之后 在切换回来, Form1 的内容就是你改变的内容
Form2 Show 再 Close , Form1 的内容就是你之前操作的内容不知道你说的状态改变 是什么情况
再打开Form1 Form2又关闭了。。