C#问题,.从一个datagridview添加到另一个中.为什么当窗体关闭后再次打开就不显示我上次添加的呢

C# 图中2个表中,左侧表中的数据是由数据库提供,右侧为空的datagridview.点击左侧表中的一行数据,添加到右侧,添加是没问题,.....但是当我添加了一条后,窗体关闭...再次打开窗体,我上次的操作添加到右侧表中的数据,就没有了,不显示,该怎么做让他显示出来呢???????????

如果窗体是隐藏,那下次显示的时候数据会保持,
如果是关闭了且状态未保存,那下次再打开的时候肯定是不是最后的状态。
两种方法:
1. 或者窗体采用隐藏而不是关闭方式,下次仅只是显示出来;
2. 继续使用当前模式,但是在关闭窗体时记录下当前状态,下次显示时按照当前状态还原出来。追问

怎么样记录下当前状态呢????麻烦解答下....~~~!!!!~~~~

追答

要记录下当前状态有不止一种办法,
最适合的办法取决于你程序要实现的功能。
1. 在内存中记录状态,适用于窗口上次显示和本次显示是在一次运行中,就是两次显示之间,程序没有中断运行过。
2. 在硬盘上记录状态,适用于比如上次显示之后程序关闭了,然后又启动之后要恢复显示。
至于要具体采取什么样的数据结构来记录状态,这个建议你稍微动些脑筋。
说到底做简单的程序也需要想一想的,是吧。
:)

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-11-30
您在点击添加后要保存,在窗体加载时要读取之前保存的数据加入到DataGridView才可以啊追问

我该怎么样做呢?我还是菜鸟级别的....麻烦能给出个方法吗??

追答

这个。。。
我只能说到这了,剩下的您到Google上去查查吧,关键词
数据库读写,DataGridView添加数据

追问

是不是在主窗体创建一个数组,在Add添加事件中,把从左侧添加过去的数据,存到数组中?????然后从主窗体点击菜单再次进入添加窗体时,判断一下是否有数据,有数据的话加入到datagrid中,没有就直接进入窗体?

第2个回答  2012-11-30
数据库加个字段,说明数据是在左侧还是右侧。两个datagridview的数据源都从数据库读取。左侧的数据移过去之后,在数据库该条数据的字段变一下,然后刷新数据绑定。
第3个回答  2012-11-30
你左边是从数据库取的 右边是临时dataset的吧 你把这个dataset存哪了 存了么 没存 你想让他保持什么?程序运行时 可以临时记录你的操作 但是程序一旦关闭 你的操作没保存就没有了 这个道地懂吧 就是说 你这个要想让它显示出来 就只能保存 想保存 就得用到数据库 想程序自动保存 不可能追问

就是存储的方法不会...应该怎么做呢?

追答

2个方法 一个就是你说的ADD方法 先添加数据库 然后判断 另一种就是当你右面有一天数据的时候 就insert一条数据进数据库

追问

这个不能插入数据库的...我是要他来确定加载那条数据的...不是要插入数据库的...左侧表中为全部的曲线...添加到右侧,,,是为了让用户看到现在加载的是哪一条曲线.....

追答

没明白 你要加载什么? 你现在不是要右面的gridview里打开的时候有数据么?你这个表达我实在是不知道你到底想干什么 你和我说老百姓话吧 术语很难沟通的 加不加载的 不说了 就说你想干啥 我绑你解决

追问

恩恩.显示的数据是我从左侧表添加到右侧表中的数据,,,,我添加了几个就显示几个,,,,这个是Add添加按钮的事件代码::
DataGridViewRow dr = gvLoad.SelectedRows[0];
DataGridViewRow row = new DataGridViewRow();
for (int i = 0; i < dr.Cells.Count; i++)
{

第4个回答  2012-11-30
初始化的时候重新绑定数据
相似回答