【问题标题】:Devexpress GridView Selected RowDevexpress GridView 选定行
【发布时间】:2014-11-24 18:30:25
【问题描述】:

我的 c# 项目中有一个 gridList。我的 gridList 中有超过 100 000 条记录。我想对过滤的行做一些操作。例如,我按“名称”列过滤了 gridList,然后我想选择所有过滤的行。我怎样才能做到这一点?

感谢您的帮助。

【问题讨论】:

  • 您想选择所有可见的行,还是只选择其中一些,然后对选定的行执行一些操作?另外 - 你的项目是 Winforms、WPF 还是 ASP?因为 DevExpress 有很多框架。
  • 我的项目是 Winforms。我想选择在 devexpress gridview 上过滤的行。例如; for (int i = 0; i

标签: c# winforms gridview devexpress filtering


【解决方案1】:

首先您需要设置GridViewOptionsSelection.MultiSelect = true 属性。

然后,要选择所有过滤的行,您可以在应用过滤器后使用 GridViewSelectAll() 方法。

【讨论】:

    【解决方案2】:

    要遍历网格行(考虑到分组、排序和过滤),请使用以下方法:

    void TraverseRows(ColumnView view) {
        for (int i = 0; i < view.DataRowCount; i++) {
            object row =  view.GetRow(i);
            // do something with row
        }
    }
    

    附:详情请阅读Traversing Rows文章。

    【讨论】:

    • 谢谢。这是我想要的最佳答案。
    • 我还有一个问题要问你。我像上部一样编写代码块,但我有一个关于铸造的问题。我的代码块是 for (int i = 0; i
    【解决方案3】:

    我为这个问题找到了另一个答案:

    void TraverseRows(ColumnView view,bool selectRemove)
    {
        dtTemp = new Data.Medical.Follow.DSFollow.FollowRequestsDataTable();
        for (int i = 0; i < gridViewList.RowCount; i++)
        {
            DataRow row = gridViewList.GetDataRow(gridViewList.GetVisibleRowHandle(i));
            row["is_selected"] = selectRemove;
            dtTemp.AddFollowRequestsRow((DSFollow.FollowRequestsRow)row);
        }
    }
    

    【讨论】:

    • 事实上,它与您之前谈到的“我要选择已过滤的行”并不完全相同,因为它与 DevExpress 中的“选定”网格行没有任何共同之处网格视图。
    • 我的英语还没能说明我的问题。所以我不能正确地告诉我的问题
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-10-19
    • 2011-07-26
    • 2014-12-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-31
    相关资源
    最近更新 更多