Winforms 如何对动态加载的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

我正在VS2008中开发一个Windows窗体应用程序。我想在表单上显示未知但数量较少的DataGridView,代码如下:

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; }