我想显示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 Sex
value中的文件,Male
那么它应该只显示带有 value 的行20
。40
被跳过。
如果我将打开包含 Column Sex
value的第二个文件,Female
那么它应该只显示带有 value 的行40
。20
被跳过。
所以,主要它应该看起来像:如果我要打开 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 20
or 40
。你有什么想法?