C# 如何过滤由Webrequest填充且没有数据源的Datagridview?

C# 如何过滤由Webrequest填充且没有数据源的Datagridview?,c#,winforms,datagridview,C#,Winforms,Datagridview,我创建了一个Winforms C#应用程序,然后在form load中用来自网站数据库的web请求填充Datagridview(数据库无法远程控制) 在表单加载中,我禁用了一些列。现在我想按客户机在文本框中写入的列过滤datagridview 这是填写Datagridview的我的表单加载代码: MyWebRequest Showrequest = new MyWebRequest("https://websitename.com/connector.php", "POST","metod=sh

我创建了一个Winforms C#应用程序,然后在form load中用来自网站数据库的web请求填充Datagridview(数据库无法远程控制)

在表单加载中,我禁用了一些列。现在我想按客户机在文本框中写入的列过滤datagridview

这是填写Datagridview的我的表单加载代码:

MyWebRequest Showrequest = new MyWebRequest("https://websitename.com/connector.php", "POST","metod=showform&Table=Propertys");
            string shreqres = Showrequest.GetResponse();

            string[] propertytablerows = shreqres.Split('♣');
            for (int i = 0; i < propertytablerows.Length; i++)
            {
                string propertytablerows1 = propertytablerows[i];
                string[] propertytablerow = propertytablerows1.Split(',');
                propertydatagrid.Rows.Add(propertytablerow);
            }
            int[] hidecolumns = {3,10,11,12,14,16,19,20,21,25,26,27,28,29,31,35,36,37,38,39,40,41,42,43,44,45,46,47,50,54,55,56,57,58,59,60,61,62,63,64,65,66,48,67,68,69,72,73,74,75,76,79,80};
            for (int i=0;i<hidecolumns.Length;i++)
            {
                propertydatagrid.Columns[hidecolumns[i]].Visible = false;
            }
            DataTable dt = new DataTable();
            foreach (DataGridViewColumn col in propertydatagrid.Columns)
            {
                dt.Columns.Add(col.Name);
            }

            foreach (DataGridViewRow row in propertydatagrid.Rows)
            {
                DataRow dRow = dt.NewRow();
                foreach (DataGridViewCell cell in row.Cells)
                {
                    dRow[cell.ColumnIndex] = cell.Value;
                }
                dt.Rows.Add(dRow);
            }
            propertydatagrid.DataSource = dt;

            DataView dv = dt.DefaultView;
            dv.RowFilter = "Owner LIKE '" + owner.Text + "%'";
            propertydatagrid.DataSource = dv;
            propertydatagrid.Refresh();

加载表单后,没有问题,datagridview填充并隐藏了一些列,但当我在textbox中写入时,程序崩溃。

从web加载数据后,您可以将数据放入
数据表中。然后,要显示数据,请设置
DataGridView
DataSource
。过滤数据使用。感谢您的评论,但是从webload或datagridview中填充数据的区别是什么?我想这也不管用。