如何在ASP.NET的gridview上添加空白行,而且可以填写数据?
我有一个ASP.NET的gridview1,没有任何数据源。但是初始化有一个标题UserID显示,我希望点击按钮,gridview上添加10行空白行,而且可以让我填写数据,如果发生页面刷新,gridview上面填写过的数据也不能消失,如何做到呢?谢谢? --------------------编程问答-------------------- --------------------编程问答-------------------- 帮你顶一个.我以前做的只设置一个脚模板就只显示一个空白行.10行的没做过还要保存输入的值蛮麻烦的
<asp:TemplateField HeaderText="聯絡人" meta:resourcekey="TemplateFieldResource1">--------------------编程问答-------------------- 很老的问题也~
<ItemTemplate>
<asp:Label ID="lbLiaisons" runat="server" Text='<%# Bind("Liaisons") %>' meta:resourcekey="lbLiaisonsResource1"></asp:Label>
</ItemTemplate>
<FooterTemplate>
<asp:TextBox ID="txtLiaisons" Width="81%" runat="server" meta:resourcekey="txtLiaisonsResource2"></asp:TextBox>
</FooterTemplate>
<HeaderStyle HorizontalAlign="Left" />
</asp:TemplateField>
不过怎么没有模板? --------------------编程问答-------------------- 路过,学习一下 --------------------编程问答-------------------- 添加10行空数据
用textbox 来保存空数据
用viewstate 来搭配使用。 --------------------编程问答-------------------- 空白行,能编辑,晕 --------------------编程问答-------------------- 顶一个 --------------------编程问答-------------------- 顶一下
--------------------编程问答-------------------- DataTable dt = new DataTable();//实例化一个空数据源
for (int k = 0; k <15; k++)//要添加的行数,这里是15行
{
DataRow dr = dt.NewRow();
dt.Rows.Add(dr);
}
this.GridView1.DataSource = dt;
this.GridView1.DataBind();
之后自己编辑GridView1标头,转成模板,给模板添加文本框即可。 --------------------编程问答--------------------
在<FooterTemplate>加入textbox再做个按钮添加增加空数据的事件。 --------------------编程问答-------------------- 一般都用模板文件,每行是一个对象来保存
嫌麻烦的时候,可以用第三方控件devexpress --------------------编程问答-------------------- 学习了 --------------------编程问答-------------------- 全用模板列,保存时要把行中的控件转换一下,如果行里有dropdowlist,就要更麻烦一些
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
DropDownList DdlOrderDate = (DropDownList)e.Row.FindControl("DdlOrderDate");
DropDownList DdlOrderType = (DropDownList)e.Row.FindControl("DdlOrderType");
DbA_Category RoomType = DbA_Factory.Create_DbA_Category();
PubFunctions.Public.DropdownList_CategoryItem(RoomType, udType_Category.pCustomer_GYS.Room, DdlOrderType, "", "");
GroupAgendaDate(DdlOrderDate);
HiddenField HOrderDate = (HiddenField)e.Row.FindControl("HOrderDate");
HiddenField HOrderType = (HiddenField)e.Row.FindControl("HOrderType");
if (!HOrderType.Value.Equals(""))
{
DdlOrderType.SelectedValue = HOrderType.Value;
}
if (!HOrderDate.Value.Equals("1949-10-01"))
{
DdlOrderDate.SelectedValue = HOrderDate.Value;
}
System.Web.UI.HtmlControls.HtmlGenericControl dvDel = (System.Web.UI.HtmlControls.HtmlGenericControl)e.Row.FindControl("dvDelete");
DataRowView row = (DataRowView)e.Row.DataItem;
dvDel.Visible = ((Convert.ToInt32(row["DetailID"]) != 0));
}
} --------------------编程问答-------------------- 按钮事件里自然是添加空白行了,保存数据可以放在text控件中,或viestate里,text自然要隐藏。
补充:.NET技术 , ASP.NET