我想自己动态的往里面添加数据(行)
像DataGridView那样不行吗?

解决方案 »

  1.   

    当然不是一定要和数据库绑定
    你可以自己创建一个datatable,给datatable创建datarow,给里面写入数值和字符串
    然后把这个datatable赋给GridView的datasource
    gridview有数据源就显示,它不管你的数据源是哪来的
      

  2.   

    gridview 要求的数据源任何实现 IList 接口的类,包括一维数组。任何实现 IListSource 接口的类,例如 DataTable 和 DataSet 类。任何实现 IBindingList 接口的类,例如 BindingList 类。任何实现 IBindingListView 接口的类,例如 BindingSource 类。
      

  3.   

            Dim dt As DataTable = Nothing
            Dim hColumn As New HyperLinkColumn
            hColumn.HeaderText = "标题"
            hColumn.DataTextField = "name"
            hColumn.DataNavigateUrlField = "name"
            hColumn.DataNavigateUrlFormatString = "NewsEdit.aspx"
            GridView1.Columns.Add(hColumn)        Dim column As BoundColumn
            column = New BoundColumn
            column.HeaderText = "内容"
            column.DataField = "Content"
            GridView1.Columns.Add(column)        dt = New DataTable
            dt.Columns.Add("name")
            dt.Columns.Add("Content")        Dim dr As DataRow = dt.NewRow
            dr(0) = "关于xxxx"
            dr(1) = "xxxxx"
            dt.Rows.Add(dr)        GridView1.DataSource = dt
            GridView1.DataBind()大概就这样吧
      

  4.   

    刚才是vb.net版
    现在是c#版

        DataTable dt = null; 
        HyperLinkColumn hColumn = new HyperLinkColumn(); 
        hColumn.HeaderText = "标题"; 
        hColumn.DataTextField = "name"; 
        hColumn.DataNavigateUrlField = "name"; 
        hColumn.DataNavigateUrlFormatString = "NewsEdit.aspx"; 
        GridView1.Columns.Add(hColumn); 
        
        BoundColumn column = default(BoundColumn); 
        column = new BoundColumn(); 
        column.HeaderText = "内容"; 
        column.DataField = "Content"; 
        GridView1.Columns.Add(column); 
        
        dt = new DataTable(); 
        dt.Columns.Add("name"); 
        dt.Columns.Add("Content"); 
        
        DataRow dr = dt.NewRow; 
        dr(0) = "关于xxxx"; 
        dr(1) = "xxxxx"; 
        dt.Rows.Add(dr); 
        
        GridView1.DataSource = dt; 
        GridView1.DataBind(); 
      

  5.   

    怎么动态设计表的结构呢
    DataTable dataTable = new DataTable();
    dataTable.LoadDataRow(new string[]{"1","2","3"},true);
    运行时出错,说插入的数据大于列的数目了
      

  6.   


    是的。增加数据是操作在数据源上面的事,例如操作在在内存形成的对象集合(List<T>、DataTable等),界面控件不需要做任何编程修改。
      

  7.   


    你的dataTable定义完后,还没给它定义columns,直接插入row,当然就说大于列的数目了
      

  8.   

    11楼的代码运行有错
    无法将HyperLinkColumn转化成DataControlField
      

  9.   

    嘿嘿,搞错了,这个属性是DataGrid的
    要改几个属性{ 
        DataTable dt = null; 
        HyperLinkField hColumn = new HyperLinkField(); 
        hColumn.HeaderText = "标题"; 
        hColumn.DataTextField = "name"; 
        hColumn.DataNavigateUrlFormatString = "NewsEdit.aspx"; 
        GridView1.Columns.Add(hColumn); 
        
        BoundField column = default(BoundField); 
        column = new BoundField(); 
        column.HeaderText = "内容"; 
        column.DataField = "Content"; 
        GridView1.Columns.Add(column); 
        
        dt = new DataTable(); 
        dt.Columns.Add("name"); 
        dt.Columns.Add("Content"); 
        
        DataRow dr = dt.NewRow; 
        dr(0) = "关于xxxx"; 
        dr(1) = "xxxxx"; 
        dt.Rows.Add(dr); 
        
        GridView1.DataSource = dt; 
        GridView1.DataBind(); 
    } 自己在这个基础上改吧
      

  10.   

    可以更DataGridView一样去绑定一个List集合,当然可以绑定一个方法,这个方法返回一个List集合。