关闭表单后,datagridview值消失

时间:2016-03-06 04:10:13

标签: c# sql visual-studio datagridview

我的数据网格有问题我使用此代码将选定的行从datagrid1复制到datagrid2 ..我的数据网格连接到数据库中的表..

<input type="text" data-minchars="4" autocomplete="off" aria-autocomplete="list" id="speciesList" class="input-loader" style="width: 600px;">

它正常工作并将所选值添加到datagrid2 ..但问题是当我关闭窗体并再次运行它时... datagrid2清除其所有值..

有什么方法可以保持datagrid2中的值,只有当我按下按钮时才清除它? thankss

2 个答案:

答案 0 :(得分:0)

保留值的方法有很多种,其中一种方法如下:

当你需要你的表格从屏幕上消失时,你不要关闭它但只隐藏例如那样(假设它不是你的应用程序的主要形式):

// Using FormClosing event
private void Form2_FormClosing(object sender, FormClosingEventArgs e)
{
   // as example, exitingApp (bool) should be your global flag to distinguish 
   // if you want to hide this form only or you close your application completely
   if (!exitingApp) 
   {
     e.Cancel = true;
     Hide();
   }
}

考虑到您应该保留对此表单的引用,以便能够再次显示:

if (form2 == null)
{
   form2 = new Form2();
} 
form2.Show();

另一种方法是在关闭表单之前将表单内容存储在其他位置,并在表单再次加载时恢复,但我个人更喜欢第一种方式。

答案 1 :(得分:0)

您可以创建一个具有静态列表的静态类,并将gridview的数据存储在其中。并在page_load上加载列表数据的gridview。

如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data;
using System.Web.UI.WebControls;
/// <summary>
/// Summary description for Global
/// </summary>
public static class Global
{

    public static List<GridView> GridViewList = new List<GridView>();

}