如何动态地将多个列添加到Gridview中 [英] How Can I Add Dynamically More Than One Columns Into The Gridview

查看:84
本文介绍了如何动态地将多个列添加到Gridview中的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

先生,

贝娄是我从textbox中的数据动态创建gridview中的列的代码。但问题是我可以在gridview中添加一列。

如果有人知道答案plz帮助我..................

sir,
bellow is my code for dynamically creating columns in gridview from data in textbox.but the problem is i can add one column in gridview.
if anyone knows the answer plz help me..................

public void load_dynamic_grid()
      {
          try
          {
               DataTable dt = new DataTable();
               string name = txtnm.Text;
      DataColumn dcol = new DataColumn(name, typeof(System.String));
      dt.Columns.Add(dcol);


          DataRow drow = dt.NewRow();


          drow[name] = "Rows" ;


          dt.Rows.Add(drow);


      foreach (DataColumn col in dt.Columns)
      {
          //Declare the bound field and allocate memory for the bound field.
          BoundField bfield = new BoundField();

          //Initalize the DataField value.
          bfield.DataField = col.ColumnName;

          //Initialize the HeaderText field value.
          bfield.HeaderText = col.ColumnName;

          //Add the newly created bound field to the GridView.
          gvAlumni.Columns.Add(bfield);
      }

      //Initialize the DataSource
      gvAlumni.DataSource = dt;

      //Bind the datatable with the GridView.
      gvAlumni.DataBind();
          }
          catch (Exception ex)
          {
              throw (ex);
          }

      }

      protected void btnSave_Click(object sender, EventArgs e)
      {
          load_dynamic_grid();
          txtnm.Text = "";
      }

推荐答案

为gridview设置AutoGenerateColumns =false。
SET AutoGenerateColumns = "false" for gridview.


使用这个



DataTable dts = new DataTable();

//添加colums

dts.Columns.Add(id,typeof(System.String));

dts.Columns.Add(Property,typeof(System.String));

dts.Columns.Add(Values,typeof(System.String));

dts.Columns.Add(Names,typeof(System.String));



//添加行

DataRow _mk = dts.NewRow();

_mk [id] = 1;

_mk [Property] =xxx;

_mk [Values] =yyy;

_mk [姓名] =zzz;

dts.Rows.Add(_mk);



可能会有帮助
use this

DataTable dts = new DataTable();
//for add colums
dts.Columns.Add("id", typeof(System.String));
dts.Columns.Add("Property", typeof(System.String));
dts.Columns.Add("Values", typeof(System.String));
dts.Columns.Add("Names", typeof(System.String));

//for add rows
DataRow _mk = dts.NewRow();
_mk["id"] = "1";
_mk["Property"] = "xxx";
_mk["Values"] = "yyy";
_mk["Names"] = "zzz";
dts.Rows.Add(_mk);

may b this will help


private DataTable CreateDynamicTable()

{

DataTabl e dt = new DataTable(mytable);

string colCount = TextBox1.Text;

string rowCount = TextBox2.Text;

for (int i = 0;我< Convert.ToInt32(rowCount时); i ++)

{

DataRow dr = dt.NewRow();

dt.Rows.Add(dr);

}

for(int i = 0; i< Convert.ToInt32(colCount); i ++)

{

dt。 Columns.Add(Col+ i,typeof(string));

}

返回dt;

}





将返回的数据表绑定到网格视图
private DataTable CreateDynamicTable()
{
DataTable dt = new DataTable("mytable");
string colCount= TextBox1.Text;
string rowCount = TextBox2.Text;
for (int i = 0; i < Convert.ToInt32(rowCount); i++)
{
DataRow dr = dt.NewRow();
dt.Rows.Add(dr);
}
for (int i = 0; i < Convert.ToInt32(colCount); i++)
{
dt.Columns.Add("Col" + i, typeof(string));
}
return dt;
}


Bind the datatable returned to a grid view


这篇关于如何动态地将多个列添加到Gridview中的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆