ASP.NET GridView动态添加行数据求详细解决代码
我想页面上来只显示表头 然后我每点击一次按钮 gridview就自动累加一条数据,不会将之前数据清除 。怎么做? --------------------编程问答-------------------- 1, 獲取你的數據源。 DataTable dt = Dll.Query();2, 將這個數據源用個viewstate保持起來。 ViewState["dt"] = dt;
3, 清除dt的Rows dt.Rows.clear();
4, 綁定。 現在只有表頭了。
-------------------- 按鈕事件 -------------
取出你的ViewState
DataTable dt = (DataTable)ViewState["dt"]
和 gv 現在的行(gv.rows.count)做比較.
gv.rows.count + 1 就是你dt現在需要多少行數據。
綁定。
--------------------编程问答--------------------
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
//獲取數據庫的資料,當作gv的數據源
DataTable dtOld = new DataTable();
dtOld.Columns.Add("測試1");
dtOld.Columns.Add("測試2");
//保存dt(所有數據)
ViewState["dtOld"] = dtOld;
//清楚所有行
dtOld.Rows.Clear();
GridView1.DataSource = dtOld;
GridView1.DataBind();
}
}
--------------------编程问答-------------------- 你添加的数据是来自数据库的还是新建的?
//button事件
protected void Button1_Click(object sender, EventArgs e)
{
//取出數據源(保存了所有的數據)
DataTable dtOld = (DataTable)ViewState["dtOld"];
DataTable dtNow;
if (ViewState["dtNow"] != null)
{
dtNow = (DataTable)ViewState["dtNow"];
}
else
{
//獲取表結構
//dtNow 是現在的gv數據源
dtNow = dtOld.Copy();
dtNow.Rows.Clear();
}
//當前gv的數據行數
int rowCount = GridView1.Rows.Count;
//取原始數據源(所有數據)對應行,到新數據源
dtNow.Rows.Add(dtOld.Rows[rowCount]);
GridView1.DataSource = dtOld;
GridView1.DataBind();
//保存現在的dtNow,button事件之後的gv數據源
ViewState["dtNow"] = dtNow;
}
js可以很轻松实现啊 --------------------编程问答-------------------- 是来自数据库的。根据文本框中输入的内容找到一条添加到GRIDVIEW中,累计添加
补充:.NET技术 , ASP.NET