[Quantproject-developers] QuantProject/b1_ADT ExtendedDataTable.cs,1.6,1.7
Brought to you by:
glauco_1
|
From: Marco M. <mi...@us...> - 2004-08-28 16:38:52
|
Update of /cvsroot/quantproject/QuantProject/b1_ADT In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv2515/b1_ADT Modified Files: ExtendedDataTable.cs Log Message: Fixed some bugs in GetCommonValues method (now it has been tested and it seems to work) Index: ExtendedDataTable.cs =================================================================== RCS file: /cvsroot/quantproject/QuantProject/b1_ADT/ExtendedDataTable.cs,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** ExtendedDataTable.cs 22 Aug 2004 16:51:09 -0000 1.6 --- ExtendedDataTable.cs 28 Aug 2004 16:38:32 -0000 1.7 *************** *** 140,159 **** string columnNameTable1 = firstDataTable.Columns[indexOfColumnOfFirstTable].ColumnName; string columnNameTable2 = firstDataTable.Columns[indexOfColumnOfSecondTable].ColumnName; ! DataRow[] orderedRowsTable1 = firstDataTable.Select(columnNameTable1 + "!=' '", "DESC"); ! DataRow[] orderedRowsTable2 = secondDataTable.Select(columnNameTable2 + "!=' '", "DESC"); int j = 0; for(int i=0; i != orderedRowsTable1.Length; i++) { ! for(; j != orderedRowsTable2.Length; j++) { int currentIndex = j; object object1 = orderedRowsTable1[i][indexOfColumnOfFirstTable]; ! object object2 = orderedRowsTable2[i][indexOfColumnOfSecondTable]; ! if( object1 == object2 ) { ! hashTable.Add(object1, object2); j = currentIndex; } } } return hashTable; --- 140,167 ---- string columnNameTable1 = firstDataTable.Columns[indexOfColumnOfFirstTable].ColumnName; string columnNameTable2 = firstDataTable.Columns[indexOfColumnOfSecondTable].ColumnName; ! DataRow[] orderedRowsTable1 = firstDataTable.Select(columnNameTable1 + "<>' '", columnNameTable1 + " DESC"); ! DataRow[] orderedRowsTable2 = secondDataTable.Select(columnNameTable2 + "<>' '", columnNameTable2 + " DESC"); int j = 0; + bool found; for(int i=0; i != orderedRowsTable1.Length; i++) { ! found = false; ! for(; j != orderedRowsTable2.Length && !found; j++) { int currentIndex = j; object object1 = orderedRowsTable1[i][indexOfColumnOfFirstTable]; ! object object2 = orderedRowsTable2[j][indexOfColumnOfSecondTable]; ! if( (string)object1 == (string)object2 ) { ! found = true; j = currentIndex; + hashTable.Add(object1, object2); } } + if( !found ) + { + j = 0; + } + } return hashTable; |