C# DataTable Select 需要找的内容带%解决办法

发布时间:2023年12月27日
  if (value.Contains("%"))
  {
      string  leftString = value.Substring(0,value.IndexOf("%"));
      DataRow[] tempRows = viewModel.DataGridViewTestProcedureDataSource.Select($"Parameter like '%{leftString}%'");//开头
      List<DataRow> listRows = new List<DataRow>();   
      foreach(DataRow row in tempRows)
      {
          if (row["Parameter"].ToString().Contains(value))
          {
              listRows.Add(row);
          }
      }
      rows=listRows.ToArray();
  }
  else
  {
      DataRow[] middle = viewModel.DataGridViewTestProcedureDataSource.Select($"Parameter like '%,{value},%'");//被夹在中间的
      DataRow[] head = viewModel.DataGridViewTestProcedureDataSource.Select($"Parameter like '{value},%'");//开头的
      DataRow[] tail = viewModel.DataGridViewTestProcedureDataSource.Select($"Parameter like '%,{value}'");//结尾的
      DataRow[] total = viewModel.DataGridViewTestProcedureDataSource.Select($"Parameter = '{value}'");//只有这个参数
      rows = middle.Union(head).Union(tail).Union(total).ToArray();//Union方法可以返回两个数组的集合,并去掉相同的元素
  }

文章来源:https://blog.csdn.net/Cecile0828/article/details/135252618
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。