【问题标题】:How do I control dataGridViewColumn order for custom business objects?如何控制自定义业务对象的 dataGridViewColumn 顺序?
【发布时间】:2009-07-29 21:50:50
【问题描述】:

创建一个自定义业务对象以滑入 dataGridView 可以创造奇迹……但我想不出一种编程方式来设置列顺序。

我是否必须再次手动手动添加它们以获得更好的排序,或者是否有一些我可以使用的神秘隐藏属性?

【问题讨论】:

    标签: .net datagridview business-objects


    【解决方案1】:

    每个 dataGridViewColumn 作为 DisplayIndex 属性,可以随时应用,甚至可以在 AutoGenerateColumns 设置为 true 的情况下使用。

    dataGridView1.Columns["colName"].DisplayIndex = 0;
    dataGridView1.Columns["colAnotherColumn"].DisplayIndex = 1;
    

    【讨论】:

    • 对,但这要求每次我从数据源中删除一列时,如果我错过了从排序中删除它,我现在在找不到“colName”时会出现异常。我希望有一个更动态的解决方案,比如可以放在业务对象属性上的属性标签。
    • 接受这个答案是最简单的方法,尽管我真的希望有一个更强类型的选项。
    【解决方案2】:

    我假设您当前将AutoGenerateColumns 设置为true。我知道控制列顺序的唯一方法是将AutoGenerateColumns 设置为false,然后像您说的那样手动添加列。

    编辑:


    我只是对另一种方法的模糊记忆进行了调查,并认为您可能想要查看GridView 控件的ColumnsGenerator 属性,该属性采用IAutoFieldGenerator 对象。这个接口有一个方法叫做GenerateFields' which takes aControl(theGrid) and returns anICollection`(字段)。

    【讨论】:

      猜你喜欢
      • 2019-04-09
      • 2017-06-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-12
      • 2011-01-13
      • 2011-07-23
      • 1970-01-01
      相关资源
      最近更新 更多