C# 如何过滤由Webrequest填充且没有数据源的Datagridview?
我创建了一个Winforms C#应用程序,然后在form load中用来自网站数据库的web请求填充Datagridview(数据库无法远程控制) 在表单加载中,我禁用了一些列。现在我想按客户机在文本框中写入的列过滤datagridview 这是填写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
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中填充数据的区别是什么?我想这也不管用。