在ASP.NET中过滤后编辑datagridview

时间:2013-04-10 12:19:56

标签: c# asp.net datagridview filtering

这是我的第一个问题,我为我的英语道歉...

我正在基于datagridview的asp.net中创建一个与SQL Express数据库连接的应用程序。 我在data.gridview中添加了编辑行的可能性。这是更新sql命令(aspx文件):

UpdateCommand = "UPDATE [View_1] SET [data_wyst] = @ data_wyst, [name] = @ name, [nazwa_umowy] = @ nazwa_umowy, [data_wplywu] = @ data_wplywu, [description] = @ description where [id] = @ id"

在过滤后我想要编辑线条的时刻,一切都很好。

这是负责过滤的功能:

 private void BindGridView1()
    {
        sprawdzpola_p();
        DataTable dt = new DataTable();

        string querystring = "SELECT [id], [nr_pism_wew], [nr_pism_zew], [nr_pamov], [nazwa], [nazwa_umowy], [Expr1], [data_wyst], [data_wplywu],[nazwa_pliku], [opis], [link] FROM [View_1] where [nr_pism_wew] like '" + wew + "' and [nr_pism_zew] like '" + zew + "' and [nazwa_umowy] like '" + umowa + "' and [nazwa] like '" + firma + "' and [nr_pamov] like '" + nr_pamov2 + "' and [opis] like '" + opis + "' and [czy_wych]='0' and ([lokalizacja] like '" + chbl_0 + "' or [lokalizacja] like '" + chbl_1 + "' or [lokalizacja] like '" + chbl_2 + "')  ORDER BY [data_wplywu] DESC";

        SqlConnection conn = new SqlConnection();
        conn.ConnectionString = "Data Source=.\\SQLEXPRESS;Initial Catalog=baza_pism;Integrated Security=True";
        conn.Open();

        SqlCommand cmd = new SqlCommand(querystring, conn);
        //cmd.ExecuteNonQuery();
        SqlDataAdapter adapter = new SqlDataAdapter(cmd);
        adapter.Fill(dt);

        GridView1.DataSourceID = "";
        GridView1.DataSource = dt;
        GridView1.DataBind();

    }

过滤并按下开启按钮链接编辑后,没有任何反应。再次按下时会出现以下错误:

  

“无法加载viewstate。视图状态所在的控制树   正在加载必须与用于保存的控制树匹配   在上一个请求期间查看状态。例如,添加时   动态控制,回发期间添加的控件必须匹配   初始期间添加的控件的类型和位置   请求。 “

因此,我的问题是,为什么编辑过滤不起作用以及我需要做些什么才能工作?

Ps:我在过滤后排序有类似的问题,但我怀疑是出于同样的原因。

0 个答案:

没有答案