【问题标题】:search by filter in streamreader c#在streamreader c#中按过滤器搜索
【发布时间】:2018-06-17 07:23:29
【问题描述】:

我想通过过滤这个数据网格视图来搜索我已经搜索了很多时间来寻找一种方法,但是我发现的解决方案中没有一个适用于我的代码 (这是我用来加载数据网格视图的代码)

static public string APP_FOLDER = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "Tools/Admin Tool/");
public string fileItem = ("Item.txt");

public class itemInterface
{
    public string Code { get; set; }
    public string Item { get; set; }

    public itemInterface(string key, string value)
    {
        Code = key;
        Item = value;
    }
    public itemInterface(string[] value)
    {
        Code = value[0];
        Item = value[1];
    }
}

static public void UpdateItemDataGridView(DataGridView dgv, List<itemInterface> pList)
{
    dgv.ColumnHeadersVisible = false;
    dgv.DataSource = pList;
    dgv.Columns[0].Width = 70;
    dgv.ColumnHeadersVisible = true;
}

private void Form1_Load(object sender, EventArgs e)
{
    List<itemInterface> pList = new List<itemInterface>();
    using (StreamReader sr = new StreamReader(APP_FOLDER + fileItem, Encoding.UTF8, true))
    {
        string s = String.Empty;
        while ((s = sr.ReadLine()) != null)
        {
            itemInterface l = new itemInterface(s.Split('\t'));
            pList.Add(l);
        }
    }
    UpdateItemDataGridView(dataGridView2, pList);
} 

【问题讨论】:

  • 你在哪里过滤? pList 在初始化后没有被过滤。根据需要使用linqfor loop 进行过滤。
  • 对不起,我不明白我想过滤 plist 以通过文本框对特定项目进行罚款
  • 举个例子,我会发布答案。
  • google 怎么样?或者在 DataView 中进行过滤(推荐)
  • 这是一个数据等级视图,可以查看一个表,该表有 2 列来自文本文件,我想在该表中搜索特定项目,看起来像 imgur.com/a/AjL0dOw

标签: c# search datagridview streamreader


【解决方案1】:

我罚款的方法是搜索代码是

 List<itemInterface> pList = new List<itemInterface>();
    using (StreamReader sr = new StreamReader(APP_FOLDER + fileItem, Encoding.UTF8, true))
    {
        string s = String.Empty;
        while ((s = sr.ReadLine()) != null)
        {
            itemInterface l = new itemInterface(s.Split('\t'));

            pList.Add(l);

        }
    }

    var pSearch = pList.FindAll(i => i.Item.ToLower().Contains(textBox12.Text.ToLower()));
    UpdateItemDataGridView(dataGridView2, pSearch);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-13
    • 2020-05-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多