1.支持datatable也支持model 直接设置数据源即可
2.要支持model,自动必须定义为属性,get;set;
而非字段 当没有任何属性的时候将看不到任何列数据
3.建立model别名
[DisplayName("胡说八道")]
public string Name { get; set; }


测试代码
// 初始化测试数据
DataTable dt = new DataTable();
dt.Columns.Add("Name", typeof(string));
dt.Columns.Add("Age", typeof(int));
dt.Rows.Add("张三", 25);
dt.Rows.Add("李四", 30);
// 自动创建列方式:
//dataGridViewVirtualNet.DataSource = dt;
dataGridViewVirtualNet.DataSource = adapters;//models
dataGridViewVirtualNet.AutoGenerateColumns = true;
遇到的问题
因为model里面有一些复杂类型数据,如果要展示,建议直接隐藏get;set;另外额外定义一个
private string a{
get{
return format(myvar);
}
}
而我之前的做法是直接监听格式化完成之后强转类型的,这导致了内部的崩溃,导致滚动不起作用,选择项也没效果,也无法改变通过鼠标列宽,后面重新创建了一个demo测试发现一切正常.应该是问了人工zn,结构回答乱七八糟搞得越搞越错.
网友评论