我们如何在c#中过滤数据表?

时间:2010-02-04 05:35:14

标签: c# asp.net ado.net datatable

我对数据表有特殊要求,但我无法获得。请帮我解决我的问题。我的查询如下

  1. 我有数据的数据表是
  2.        C1  C2  C3  C4  C5
    R1    1   2   3   4   25
    R2    6   7   8   24  10
    R3    11  22  13  14  15
    R4    16  17  23  19  20
    R5    21  7   18  9   5
    
    1. 在输出中,我希望每个列的最大值与行和列的位置(索引)如下
    2. Value  Row Column
      21    R5  C1
      22    R3  C2
      23    R4  C3
      24    R2  C4
      25    R1  C5
      

      任何人都可以帮助我,我应该如何取得成果?

1 个答案:

答案 0 :(得分:0)

假设列名称为C1,C2,C3,C4,C5。

伪码/算法。

int C1_MaxValue, C2_MaxValue, C3_MaxValue, C4_MaxValue, C5_MaxValue;
string C1_Row, C2_Row, C3_Row, C4_Row, C5_Row;

//Initialize row1 values as max values.
C1_MaxValue = DataTable.Rows[1]["C1"];
C2_MaxValue = DataTable.Rows[1]["C2"];
C3_MaxValue = DataTable.Rows[1]["C3"];
C4_MaxValue = DataTable.Rows[1]["C4"];
C5_MaxValue = DataTable.Rows[1]["C5"];

//Set R1 as row for max values.
C1_Row = C2_Row = C3_Row = C4_Row = C5_Row = DataTable.Rows[1][Row1];

For (i=2 to RowCount -1)

 if(Datatable.Rows[i]["C1"] > C1_MaxValue) 
 {       
      C1_MaxValue = Datatable.Rows[i][C1]; 
      C1_Row = Datatable.Rows[i][0];
 }
 //Do the above for all other columns.
End For

在此结尾处,上述变量应包含最大值和相应的最大行数。