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

[C#]高难度挑战!!!我被困好几天了,请大家帮忙看下

怎样做一个完全用(textbox)模板列做的datagrid?
功能:每点[增加按牛]一次,该datagrid就多出一(textbox)空行供录入数据用,       之后再点要求之前录入的那行数据在下一次点时显示出来,即前面录入的那行   数据不会因按牛刷新整个页面而丢失.

困惑:基本功能我已经做好,但录入数据后再点[增加按牛]数据回刷掉,怎么解 决,下面是主要代码:
private void btnAdd_Click(object sender, System.EventArgs e)
{
DataTable dt = MakeObjTable();
        for(int i=0;i<=this.DataGrid1.Items.Count;i++)     
{   

DataRow   dr   =   dt.NewRow();          dt.Rows.Add(dr);   
}      
        StaticDt = dt;
this.DataGrid1.DataSource=StaticDt;
this.DataGrid1.DataBind();
        Grid_Fill()//循环给模板列中textbox赋值
}
private DataTable MakeObjTable()
{
DataTable objTable = new DataTable("SAPrice");
 
DataColumn billItemColumn = new  DataColumn();
    billItemColumn.DataType=System.Type.GetType("System.String"); 
billItemColumn.ColumnName = "BillItem";
billItemColumn.DefaultValue = "";
objTable.Columns.Add(billItemColumn);
return objTable;
}
public DataTable StaticDt
{
        get
{
return (DataTable)Session["sessionDt"];
}
set
{
if( value == null )
Session["sessionDt"]=new DataTable();

        else
Session["sessionDt"]=value;
}
}

--------------------编程问答-------------------- 添加新行的时候先保存下DataGrid的DataTable --------------------编程问答-------------------- 你用farpoint空间可以帮你解决吧 --------------------编程问答-------------------- 每次刷新都要重新生成一次DataTable --------------------编程问答-------------------- js --------------------编程问答-------------------- 直接用datagrid增加新行,并且新行中的控件用服务器控件.
如果用DataTable,那就把DataTable放入ViewState中或缓存中. --------------------编程问答-------------------- 说起来容易,做起来难:( --------------------编程问答-------------------- 糊涂拉 --------------------编程问答-------------------- 有谁做过没?:( --------------------编程问答-------------------- 用JS加不好吗?不要把语言学得这么死. --------------------编程问答-------------------- 每次刷新都要重新生成一次DataTable
这样好像很麻烦 --------------------编程问答-------------------- askzhigang(南郭先生) :

同意。 --------------------编程问答-------------------- 用javascript 最简单.  效率也高.
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,