【问题标题】:DevEx Grid GetSelectedRows() with filter applied应用了过滤器的 DevEx Grid GetSelectedRows()
【发布时间】:2012-03-06 19:38:54
【问题描述】:

应用过滤器时,我在 DevEx 网格上获取选定行 (GetSelectedRows()) 时遇到问题。似乎 GetSelectedRows 正在使用过滤器返回网格中的位置,而不是数据源中的实际行句柄。

var rowHandles = gridView.GetSelectedRows();
var count = rowHandles.Length;
for (int indx = count-1; indx >= 0; indx-- )
{
     if (rowHandles[indx] >= 0)
     {
          if (ServiceProxy.Instance.IsAlive(CommandNames.Delete))
              ((IList<ISymbolFieldInfo>)_staticPriceConfigurationBindingListUser).RemoveAt(rowHandles[indx]);
          }
     }
}

谁能告诉我我在这里做错了什么。我希望 GetSelectedRows() 从网格返回实际行句柄,而不是应用过滤器的句柄。

谢谢

【问题讨论】:

    标签: c# winforms gridview devexpress


    【解决方案1】:

    我相信你的假设是不正确的。 DevX 文档说:“由于行句柄反映了行在视图中的显示顺序,因此如果对数据进行排序和/或过滤,修改单行可能会影响后续行的句柄。”

    我认为您在该循环中删除行的方法并不安全,因为每次您这样做时,行句柄都可能会更改。可以在here找到有关网格控件中的选择的概述@

    【讨论】:

      猜你喜欢
      • 2018-12-04
      • 1970-01-01
      • 2022-10-17
      • 2020-06-12
      • 2019-07-28
      • 2016-06-15
      • 1970-01-01
      • 2022-01-12
      • 1970-01-01
      相关资源
      最近更新 更多