2015-04-14 4 views
0

Я пытаюсь скрыть значения повторяющихся ячеек для определенных столбцов в Telerik RadGrid.Скрытие повторяющихся строк в telerik RadGrid

Я попытался использовать приведенный ниже код, который не работает. Выполнив код с помощью отладчика, я вижу, как он, по-видимому, принимает правильные решения. Мне интересно, если метод, который я использую, чтобы обновить ячейку в неправильном или я пропустил какой-то важный шаг.

private void HideGridDuplicates(RadGrid radGrid, string[] fieldNames) 
    { 
     var hashLastValues = new Hashtable(); 

     foreach (string fieldName in fieldNames) 
     { 

      foreach (GridDataItem item in radGrid.Items) 
      { 
       string currentValue = item.GetDataKeyAsString(fieldName); 
       if (hashLastValues.ContainsKey(fieldName)) 
        if ((string)hashLastValues[fieldName] == currentValue) 
         currentValue = ""; 
        else 
         hashLastValues[fieldName] = currentValue; 
       else 
        hashLastValues.Add(fieldName, currentValue); 

       item[fieldName].Text = currentValue; 
      } 


     } 

    } 
+2

Что заполняет RadGrid? Я чувствую, что вы можете отфильтровать его до того, как сетка получит данные. –

+0

Это похоже на общий консенсус. Это коллекция, созданная с помощью LINQ. – recursionjm

ответ

0

Update: Это должно быть то, что вы ищете:

SELECT ExpenseID, ClaimID, [Description],TransactionDate 
FROM (SELECT ExpenseID, ClaimID, [Description],TransactionDate, 
     ROW_NUMBER() OVER (PARTITION BY ClaimID ORDER BY expenseID) rn 
     FROM Expense) t 
     WHERE rn = 1; 

Я только что проверил это на моей тестовой базе данных, и я думаю, что это то, что вы пытаетесь достичь. если вы измените «PARTITION BY ClaimID», это изменится на нужный столбец.

+0

Некоторые строки дублировались, некоторые из них не были – recursionjm

Смежные вопросы