如何在数据视图中过滤数据

12
我想在listview的textchange事件中过滤数据,所以我使用dataview来过滤数据。以下代码问题在于,我在for each循环中使用dataview,因此它只检查一个条件,即仅采用最后一个值,我希望使用dataview检查s1中的值,并将其余值与listview绑定。
例如:如果我在文本框中输入an,它应该列出所有以an开头的项目值,如anandha kumar、anna等。假设我将anandha kumar和anna的值存储在数组s1中。我应该列出除数组值之外的所有其他值,如antony等...在listview中。
protected void TextBox1_TextChanged(object sender, EventArgs e)
        {
            dvProducts = (DataView)Session["ListViewItems"];

            string serachText = EscapeLikeValue(TextBox1.Text);

            string lvValues = hdRetailCustomerGroup.Value;

            string trim = lvValues.Replace(" ", "");

            trim = trim.Replace("\r", "");

            trim = trim.Replace("\n", "");

            trim = trim.Replace("\t", "");
             string str = trim;

            string[] list = str.Split('|');


            foreach (string s1 in list)
            {
                if (s1 != string.Empty)
                {
                    dvProducts.RowFilter = "(CODE like '" + serachText + "*') AND (CODE <> '" + s1 + "')";
                    Session["ListViewItems"] = dvProducts;
                }
            }

                       ListView1.DataSource = dvProducts;
                     ListView1.DataBind();

        }

你想要将结果连接起来并显示最终输出吗? - Pankaj
2个回答

21

我设置了view.RowStateFilter = DataViewRowState.ModifiedCurrent;,但是显示为空的dataview。我想在dataview中省略s1的值。 - Sambath Kumar
view.RowFilter = "City != 'Berlin'"; 视图.行筛选器 = "城市 != '柏林'"; - Balachandar P

7

例如:

Datatable newTable = new DataTable();
foreach (string s1 in list)
{
   if (s1 != string.Empty)
   {
      dvProducts.RowFilter = "(CODE like '" + searchText + "*') AND (CODE <> '" + s1 + "')";
      foreach (DataRow dr in dvProducts.ToTable().Rows)
      {
         newTable.ImportRow(dr);
      }
   }
}
ListView1.DataSource = newTable;
ListView1.DataBind();

点击这个链接并根据你自己的需求格式化列表视图,http://msdn.microsoft.com/zh-cn/library/system.windows.forms.listview.items.aspx - las
它也会被覆盖。我想在dataview中省略s1的值并将其存储在某个表中。 - Sambath Kumar
然后创建新的数据表并添加行, - las
我已经修改了上面的代码,请尝试。 - las

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接