代码之家  ›  专栏  ›  技术社区  ›  lc.

复杂数据绑定到DataGridView标题文本

  •  0
  • lc.  · 技术社区  · 17 年前

    有没有办法将复杂的数据绑定到列的标题文本?或者,这是手动设置值并从源侦听更改事件的唯一方法?

    为了记录在案,我两个都试过了

    MyDataGrid.DataBindings.Add("Columns[<columnIndex>].HeaderText",MySource,"MyProperty");
    

    MyDataGrid.DataBindings.Add("Columns[\"ColumnName\"].HeaderText",MySource,"MyProperty");
    

    没有用,也没有 DataGridViewColumn DataGridViewColumnHeaderCell 有一个 DataBindings 所有物

    1 回复  |  直到 17 年前
        1
  •  1
  •   Marc Gravell    17 年前

    不,列标题不支持数据绑定,因为可以理解,此元数据(大部分)是静态的。

    在本例中,我只需按照您的建议手动执行(从属性读取并订阅事件以更新列标题)。

    PropertyDescriptor 实现,由 TypeDescriptionProvider ITypedList -或者更好,一个 IBindingList ListChanged 类型的事件 ListChangedType.PropertyDescriptorChanged 重要的 大量的工作,仅仅因为你的建议是不值得的。

    推荐文章