Winforms 如何对动态加载的DataGridView进行数据绑定?
我正在VS2008中开发一个Windows窗体应用程序。我想在表单上显示未知但数量较少的DataGridView,代码如下:Winforms 如何对动态加载的DataGridView进行数据绑定?,winforms,datagridview,datasource,Winforms,Datagridview,Datasource,我正在VS2008中开发一个Windows窗体应用程序。我想在表单上显示未知但数量较少的DataGridView,代码如下: foreach (QueryFilter f in Query.Filter) { DataGridView grid = CreateGridView(String.Format("GridView{0}", filters.Count)); grid.Location = new System.Drawing.P
foreach (QueryFilter f in Query.Filter)
{
DataGridView grid = CreateGridView(String.Format("GridView{0}", filters.Count));
grid.Location = new System.Drawing.Point(3, 9 + (filters.Count * grid.Height + 9));
BindingList<QueryFilterNode> nodes = new BindingList<QueryFilterNode>();
foreach (QueryFilterNode node in f)
nodes.Add(node);
grid.DataSource = nodes;
panel1.Controls.Add(grid);
filters.Add(nodes);
}
嗯,看来是我自己的错。 用作数据源(
BindingList
)的QueryFilterNode不是POCO,而是datacontract。片段:
[DataContract(Name = "QueryFilterNode")]
public class QueryFilterNode
{
[DataMember(IsRequired = true)]
public string FieldCode;
由于某些原因,这些无法进行数据绑定。我在BindingList中使用了这样一个简单的类,它很有效
class QueryFilterNodeSimple
{
public string FieldCode
{ get; set; }
绑定列表绑定到什么?我认为您需要设置BindingList.DataSource属性。我认为数据必须位于属性中,而不是字段中。
class QueryFilterNodeSimple
{
public string FieldCode
{ get; set; }