用自己集合生成DataTable 类型的集合可以在MSDN中搜索以下,DataTable

解决方案 »

  1.   

    然后DataGrid1.DataSource = genDataTable(myDataType);
    DataGrid1.dataBind();
      

  2.   

    只要你定义的类支持接口IList:
    IList myList = ...;
    DataGrid1.DataSource = myList;
    DataGrid1.DataBind();
      

  3.   

    谢谢两位,支持IList,不过绑上后不显示内容,但可以看出有多少行
      

  4.   

    自己生成一个DataTable来做数据源就行了
      

  5.   

    public class Widget
    {
    public int id;
    public string Name; }
    public class WidgetCollection : System.Collections.CollectionBase,IList
    { public  WidgetCollection():base()
    {

    }
    public void Add(Widget aWidget)
    { List.Add(aWidget);
    } public void Remove(int index)
    { if (index > Count - 1 || index < 0)
    {
    System.Windows.Forms.MessageBox.Show("Index not valid!");
    }
    else
    {
    List.RemoveAt(index); 
    }
    }
    public void Update(int id,Widget aWidget)
    {
    Widget aaa = (Widget) List[id];
    aaa.Name=aWidget.Name;
    }             public int IndexOf(int id)
    {

    return (List.IndexOf(id));
    } public Widget this[int index]
    {
    get  
    {
    return( (Widget) List[index] );
    }
    set  
    {
    List[index] = value;
    } } }
      

  6.   

    this.dataGrid1.SetDataBinding (ds,"表名");
      

  7.   

    解决了,结贴DataGridTableStyle partsTable = new DataGridTableStyle();partsTable.MappingName= "WidgetCollection[]";
    DataGridTextBoxColumn partIdColumn = new DataGridTextBoxColumn();partIdColumn.MappingName= "Name";
    partIdColumn.HeaderText = "Name";
    partsTable.GridColumnStyles.Add(partIdColumn);dataGrid1.TableStyles.Clear();
    dataGrid1.TableStyles.Add(partsTable);