在Devexpress中修改Master-Detail网格中的列标题名称

时间:2016-02-11 20:00:00

标签: vb.net devexpress master-detail

我有一个Master-Detail设置有2个网格。在主网格上,我将ShowOnlyPredefinedDetails选项设置为false。 这意味着我看到一个小+符号,允许我扩展细节网格的细节(在主网格中)blog at noobsippets。我想重命名 该部分中的某些列以及隐藏某些列。我使用VB.NET如何解决这个问题。见图。

3 个答案:

答案 0 :(得分:2)

您可以使用网格控件ViewRegistered事件来完成此操作,您可以在该视图中修改该网格视图中包含要修改,重命名或删除的列的列。这是一个例子,我希望它有所帮助:

 private void myGridControl_ViewRegistered(object sender, DevExpress.XtraGrid.ViewOperationEventArgs e)
    {
        if (e != null)
        {
            if (e.View != null)
            {
               //Inside of this statement you can adjust, add, and modify all of the columns inside of that grid that appears when you click on the +

                (e.View as GridView).Columns["myHiddenColumn"].Visible = false;
                (e.View as GridView).Columns.Add(new GridColumn() { Name = "AddColumn", Caption = "Name To Display", Visible = true, FieldName = "DataField"});
                (e.View as GridView).Columns["DataField"].OptionsColumn.AllowEdit = false;
                (e.View as GridView).Columns["DataField"].OptionsColumn.AllowFocus = false;
                (e.View as GridView).Columns["DataField"].OptionsColumn.ReadOnly = true;
            }
        }
}

答案 1 :(得分:0)

我认为您需要做的就是为您的详细信息创建第二个网格视图。如果您还没有这样做,请执行以下操作:

  1. 在网格设计器中,如果尚未执行此操作,请单击“检索详细信息”。这将使设计人员认识到绑定对象中有第二级:
  2. enter image description here

    1. 看到第二层后,现在需要一个新的网格视图。单击“单击此处更改视图”并选择“创建新视图”并选择“GridView”。
    2. enter image description here

      现在,您将看到设计人员的两个网格视图,点击其中一个将改变左侧菜单的上下文:

      enter image description here

      例如,如果选择了gridView2,当您单击“布局”菜单时,它将显示详细网格的当前布局,而不是主网格。从这里,您可以根据需要删除或添加列。同样,从“列”菜单中,您将看到新列(您可能需要通过拖动它们将它们添加到视图中),并且您可以更改Caption属性以更改标题的文本。 / p>

答案 2 :(得分:0)

我建议你使用Data Annotation属性和数据类的属性来声明你应该如何在GridControl中显示数据:

要跳过特定属性的列生成,您可以使用<DisplayAttribute(Order := -1)>声明标记此属性。

要阻止列显示,您可以使用<DisplayAttribute(Name := "YOUR CAPTION")>声明标记此属性。稍后,用户可以通过Column Chooser UI显示此列。

要指定列标题,请使用dataset声明。

您还可以控制过滤/编辑/格式化和验证功能。

相关链接: