【问题标题】:Bind List<object> to GridControl with custom columns使用自定义列将 List<object> 绑定到 GridControl
【发布时间】:2019-11-27 13:54:34
【问题描述】:

我有这样的课

public class AuthorModel
{
    public int Id  { get; set; }
    public string Name { get; set; }
    public string Phone { get; set; }
    public DateTime RegistrationDate { get; set; }

}

我在 wpf devexpress 中创建了 GridControl,并将 ItemsSource 设置为 List。 (MyGrid.ItemsSource = myAuthorsList) 问题是:如何控制列名,比如我想让网格控件显示你的名字而不是类中的名字?

我想在设置 ItemsSource 后更改列名

【问题讨论】:

    标签: c# wpf grid devexpress


    【解决方案1】:

    您可以使用多种方法在 DevExpress GridControl 中定义列标题:

    1. 在 XAML 中定义 columns 并设置 Header 属性:
        <dxg:GridControl.Columns>
            <dxg:GridColumn FieldName="Id" Header="Author ID"/>
        </dxg:GridControl.Columns>
    
    1. 订阅GridControl.AutoGeneratedColumns事件,遍历GridControl.Columns集合并在代码中设置列标题。

    2. 在您的模型中使用data annotation attributes 并激活EnableSmartColumnsGeneration 选项:

        public class AuthorModel
        {
            [Display(ShortName = "Author ID")]
            public int Id {
                get;
                set;
            }
            //...
        }
    
        <dxg:GridControl AutoGenerateColumns="AddNew" EnableSmartColumnsGeneration="True">
            <!--...-->
        </dxg:GridControl>
    

    请注意,您需要添加对 System.ComponentModel.DataAnnotations 程序集的引用才能使用这些属性

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-07-09
      • 2011-11-17
      • 2015-09-01
      • 2011-02-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多