C# 在telerik RadGrid中隐藏重复行

C# 在telerik RadGrid中隐藏重复行,c#,telerik,telerik-grid,C#,Telerik,Telerik Grid,我试图隐藏Telerik RadGrid中特定列的重复单元格值 我试图使用下面不起作用的代码。使用调试器逐步检查代码,我可以看到它似乎在哪里做出正确的决策。我想知道我用来更新单元格的方法是否不正确,或者我是否遗漏了一些重要的步骤 private void HideGridDuplicates(RadGrid radGrid, string[] fieldNames) { var hashLastValues = new Hashtable(); fore

我试图隐藏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;
            }


        }

    }

更新:这应该是您正在寻找的:

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”,这将更改为您需要的列。

什么填充了RadGrid?我觉得你可以在网格数据绑定之前过滤它,这似乎是普遍的共识。这是一个使用LINQ生成的集合。有些行重复,有些行不重复