代码之家  ›  专栏  ›  技术社区  ›  Edward Tanguay

如何在代码中设置DATAGIDTEST列的绑定?

  •  10
  • Edward Tanguay  · 技术社区  · 16 年前

    我使用的是来自codeplex的工具包:datagrid。

    我正在用代码生成列。

    如何设置等值 {绑定名} 在代码中?

    或者,我怎样才能公正 设置值 ,这就是我需要做的,不一定要绑定它。我只需要datagrid中单元格中model属性的值。

    DataGridTextColumn dgtc = new DataGridTextColumn();
    dgtc.Header = smartFormField.Label;
    dgtc.Binding = BindingBase.Path = "FirstName"; //PSEUDO-CODE
    dgtc.CellValue= "Jim"; //PSEUDO-CODE
    CodePlexDataGrid.Columns.Add(dgtc);
    
    3 回复  |  直到 14 年前
        1
  •  20
  •   samjudson    16 年前

    未经测试,但以下操作应有效:

    dgtc.Binding = new Binding("FirstName");
    
        2
  •  6
  •   Christian    14 年前

    关于新绑定的第一个答案对我来说也是正确的。使用该答案的主要问题是绑定属于四个命名空间8 -(。正确的命名空间是system.windows.data(.net 4,vs2010)。这就引出了一个更完整的答案:

    dgtc.Binding = new System.Windows.Data.Binding("FirstName");
    

    旁注:

    在我的例子中,设置绑定的上下文是对datagrid列的迭代。在更改绑定之前,必须将基类DataGridColumn强制转换为DataGridTextColumn。然后可以更改绑定:

    int pos = 0;
    var dgtc = dataGrid.Columns[pos] as DataGridTextColumn;
    dgtc.Binding = new System.Windows.Data.Binding("FirstName");
    
        3
  •  2
  •   Christian    14 年前

    例子:

    DataGridTextColumn dataColumn = new DataGridTextColumn();
    dataColumn.Header = "HeaderName";
    dataColumn.Binding = new Binding("HeaderBind");
    dataGrid.Columns.Add(dataColumn);