0

我想显示DataTable取决于 a 中特定列上的行值file。关键是我有两个不同的文件,具有不同的值。例如:

1个文件结构:

Id;Name;Surname;Sex;Age;
1;AAA;EEE;Male;20;
2;BBB;FFF;Male;20;
3;CCC;GGG;Male;40;
4;DDD;HHH;Male;40;

2 文件结构:

Id;Name;Surname;Sex;Age;
1;AAA;EEE;Female;20;
2;BBB;FFF;Female;20;
3;CCC;GGG;Female;40;
4;DDD;HHH;Female;40;

如果我将打开包含在 Column Sexvalue中的文件,Male那么它应该只显示带有 value 的行2040被跳过。

如果我将打开包含 Column Sexvalue的第二个文件,Female那么它应该只显示带有 value 的行4020被跳过。

所以,主要它应该看起来像:如果我要打开 1 个文件,它应该显示:

Id;Name;Surname;Sex;Age;
1;AAA;EEE;Male;20;
2;BBB;FFF;Male;20;

如果我要打开 2 个文件,它应该显示:

Id;Name;Surname;Sex;Age;
3;CCC;GGG;Female;40;
4;DDD;HHH;Female;40;

到目前为止我的代码:

table = new DataTable();
OpenFileDialog openFileDialog1 = new OpenFileDialog();
openFileDialog1.Filter = "Text file|*.txt";
openFileDialog1.Title = "Import file";
openFileDialog1.ShowDialog();
if (openFileDialog1.FileName != "")
    {
     reader = new System.IO.StreamReader(openFileDialog1.FileName);
     NameFile = reader.ReadToEnd();
     }
     var lines = System.IO.File.ReadAllLines(openFileDialog1.FileName);
if (lines.Count() > 0)
     {
     .
     .
     .//some code here not important 
     .
     .
     .
      }
      dataGridView1.DataSource = table;
      }
      DataView dv = table.DefaultView;
      dv.RowFilter = "[Sex] LIKE 'Male' OR [Sex] LIKE  'Female'";
      dataGridView1.DataSource = dv;
      dataGridView1.AutoResizeColumns();

但它只显示男性或女性性别,它也应该以某种方式过滤 Age by 20or 40。你有什么想法?

4

0 回答 0