当前位置:编程学习 > C#/ASP.NET >>

[求助]ASP.NET想利用GridView创建空表用于输入数据

各位大侠

小弟想这样

用GridView创建空表,假定默认自动创建10x10的空表

每一个单元格都textbox用于填入数据

最后一行还有新建行的按钮,用于10x10不够用时用户自动增加行数

上网找了很多,现在也会绑定一个空的DATATABLE,但仅仅是显示表头,下面的10x10还是显示不出来

好像是要在EmptyDATATEMPLATE里搞

大大指点一下 --------------------编程问答-------------------- http://blog.csdn.net/Sandy945/archive/2009/07/31/4397142.aspx

这篇博文 叫你怎么在GridView 中创建控件 博文是建的 label,你建textBox也一样。
至于 你说的 添加一行 新增一列 ,只需新建一个空表,帮顶GridView , 在点击 行添加到时候 对这个表 新增一行,就可以实现了。 --------------------编程问答-------------------- 换个思路,你就用一行一行的输入控件来做不是一样,同样可以达到你的效果 --------------------编程问答--------------------

  protected void Page_Load(object sender, EventArgs e)
  {
  if (!IsPostBack)
  {
  DataBind();//加载数据
  }
  }
  private void DataBind()
  {
  List<MODEL.Test> list = new List<MODEL.Test>();
 for(int i=0;i<10;i++)
 {
  list.add(new MODEL.Test);
 }
  this.GridView1.DataSource = list;
  ViewState["list"] = list;//保存数据源
  this.GridView1.DataBind();
  }
  protected void Button1_Click(object sender, EventArgs e)
  {
  List<MODEL.Test> list = ViewState["list"] as List<MODEL.Test>;//获取保存的数据源
  for (int i = 0; i < list.Count; i++)
  {
  list[i].test = ((TextBox)this.GridView1.Rows[i].Cells[2].FindControl("TextBox1")).Text;//先将页面中的数据保存在 list 中
  }
  list.Add(new MODEL.Test());//创建新的行
  this.GridView1.DataSource = list;
  this.GridView1.DataBind();
  }
--------------------编程问答--------------------

List<MODEL.Test> list = new List<MODEL.Test>();

楼上这是什么意思了 --------------------编程问答-------------------- List<MODEL.Test> list = new List<MODEL.Test>();
楼上这是什么意思了 --------------------编程问答-------------------- function addTR(id){
    var tb=document.getElementById(id);
    if(tb&&tb.rows[0]){
        var tr=tb.rows[0].cloneNode(true);

        var els=tr.getElementsByTagName('input');

        for(var i=0,len=els.length;i<len;i++){
            if(els[i].type=='text'){
                els[i].value='';
            }
        }

        tb.rows[0].parentNode.appendChild(tr);
    }
}


window.onload=function(){
    document.getElementById('btn1').onclick=function(){addTR('tb1');}
        document.getElementById('btn2').onclick=function(){addTR('tb2');}
}
遍历行获取数据
http://topic.csdn.net/u/20100222/15/3536385a-c07e-4d6d-8d3a-dd9f35ebc85b.html
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,