2010-02-04 26 views
0

我对数据表有特殊要求,我无法得到。请帮我解决我的问题。我的查询是如下我们如何过滤C#中的数据表?

  1. 数据表我有数据是
 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 
  • 在输出我想具有从最大值每个柱子和柱子的位置(索引)如下
  • Value Row Column 
    21 R5 C1 
    22 R3 C2 
    23 R4 C3 
    24 R2 C4 
    25 R1 C5 
    

    任何人都可以请帮助我,我应该如何实现结果?

    回答

    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 
    

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