[英]C# Updating Gridview columns from an event
我有一個Windows窗體,上面有一個GridView以及以下屬性
如果在初始化表格上輸入
myGridView1.Columns.Add("ColumnName", "ColumnHeaderText");
當表單加載時,我在GridView上看到該列,但是,如果我在ListChanged事件中鍵入相同的代碼,我卻看不到GridView上的列,為什么會這樣?
private void _browseLayoutColumns_ListChanged(BrowseLayoutColumns item)
{
myGridView1.Columns.Add("ColumnName", "ColumnHeaderText");
}
private MyList<BrowseLayoutColumns> _browseLayoutColumns = new MyList<BrowseLayoutColumns>();
public MyList<BrowseLayoutColumns> BrowseLayoutColumns
{
get
{
return _browseLayoutColumns;
}
set
{
if(value == null) return;
_browseLayoutColumns = value;
}
}
MyList和BrowseLayoutColumns實現如下:
public class BrowseLayoutColumns
{
#region Properties
private string _columnName = string.Empty;
public string ColumnName
{
get => _columnName;
set
{
if (null == value) return;
_columnName = value;
}
}
private string _bindingField = string.Empty;
public string BindingField
{
get => _bindingField;
set
{
if (null == value) return;
_bindingField = value;
}
}
#endregion
}
internal class MyList<T> : List<T> where T : class
{
#region ListMethods
public new void Add(T item)
{
base.Add(item);
ListChanged?.Invoke();
}
public new void Clear()
{
base.Clear();
ListChanged?.Invoke();
}
#endregion
#region Events
public event ListChangedEventHandler ListChanged;
public delegate void ListChangedEventHandler();
#endregion
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.