欢迎您访问我爱IT技术网,今天小编为你分享的编程技术是:【viewstate和datatable动态录入数据示例】,下面是详细的讲解!
viewstate和datatable动态录入数据示例
<%@ Page Language="C#" EnableViewState="true" %>
<%@ Import Namespace="System.Data" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
private DataTable stoveTable=null;
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
//创建 EmptyDataTemplate
this.GridView_list.DataBind();
}
}
protected void GridView_list_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType==DataControlRowType.DataRow)
{
String usage=DataBinder.Eval(e.Row.DataItem, "usage").ToString();
String steelKind=DataBinder.Eval(e.Row.DataItem, "steelKind").ToString();
String castingTon=DataBinder.Eval(e.Row.DataItem, "castingTon").ToString();
DropDownList x1=e.Row.FindControl("x1") as DropDownList;
DropDownList x2=e.Row.FindControl("x2") as DropDownList;
TextBox x3=e.Row.FindControl("x3") as TextBox;
x3.Text=castingTon;
ListItem xx1=x1.Items.FindByValue(usage);
if (xx1 !=null) xx1.Selected=true;
ListItem xx2=x2.Items.FindByValue(steelKind);
if (xx2 !=null) xx2.Selected=true;
}
}
protected void LinkButton1_Click(object sender, EventArgs e)
{
DropDownList x1, x2;
TextBox x3;
if (GridView_list.Rows.Count==0)
{
x1=GridView_list.Controls[0].Controls[0].FindControl("x1") as DropDownList;
x2=GridView_list.Controls[0].Controls[0].FindControl("x2") as DropDownList;
x3=GridView_list.Controls[0].Controls[0].FindControl("x3") as TextBox;
}
else
{
GridViewRow r=GridView_list.FooterRow;
x1=r.FindControl("x1") as DropDownList;
x2=r.FindControl("x2") as DropDownList;
x3=r.FindControl("x3") as TextBox;
}
if (ViewState["dt"]==null)
{
stoveTable=new DataTable();
stoveTable.Columns.Add("usage", typeof(String));
stoveTable.Columns.Add("steelKind", typeof(String));
stoveTable.Columns.Add("castingTon", typeof(String));
}
else
{
stoveTable=(DataTable)ViewState["dt"];
}
DataRow newRow=stoveTable.NewRow();
newRow["usage"]=x1.SelectedValue;
newRow["steelKind"]=x2.SelectedValue;
newRow["castingTon"]=x3.Text;
stoveTable.Rows.Add(newRow);
ViewState["dt"]=stoveTable;
this.GridView_list.DataSource=stoveTable;
this.GridView_list.DataBind();
}
protected void LinkButton2_Click(object sender, EventArgs e)
{
if (ViewState["dt"]==null)
{
return;
}
stoveTable=(DataTable)ViewState["dt"];
if (stoveTable.Rows.Count < 1) return;
stoveTable.Rows.RemoveAt(stoveTable.Rows.Count - 1);
ViewState["dt"]=stoveTable;
this.GridView_list.DataSource=stoveTable;
this.GridView_list.DataBind();
}
protected void x1_SelectedIndexChanged(object sender, EventArgs e)
{
DropDownList x1=sender as DropDownList;
GridViewRow r=x1.Parent.Parent as GridViewRow;
if (ViewState["dt"]==null)
{
Response.Write("Error");
return;
}
stoveTable=(DataTable)ViewState["dt"];
stoveTable.Rows[r.RowIndex]["usage"]=x1.SelectedValue;
ViewState["dt"]=stoveTable;
this.GridView_list.DataSource=stoveTable;
this.GridView_list.DataBind();
}
protected void x2_SelectedIndexChanged(object sender, EventArgs e)
{
DropDownList x2=sender as DropDownList;
GridViewRow r=x2.Parent.Parent as GridViewRow;
if (ViewState["dt"]==null)
{
Response.Write("Error");
return;
}
stoveTable=(DataTable)ViewState["dt"];
stoveTable.Rows[r.RowIndex]["steelKind"]=x2.SelectedValue;
ViewState["dt"]=stoveTable;
this.GridView_list.DataSource=stoveTable;
this.GridView_list.DataBind();
}
protected void x3_TextChanged(object sender, EventArgs e)
{
TextBox x3=sender as TextBox;
GridViewRow r=x3.Parent.Parent as GridViewRow;
if (ViewState["dt"]==null)
{
Response.Write("Error");
return;
}
stoveTable=(DataTable)ViewState["dt"];
stoveTable.Rows[r.RowIndex]["castingTon"]=x3.Text;
ViewState["dt"]=stoveTable;
this.GridView_list.DataSource=stoveTable;
this.GridView_list.DataBind();
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<asp:GridView ID="GridView_list" runat="server" ShowFooter="true" AutoGenerateColumns="false"
OnRowDataBound="GridView_list_RowDataBound">
<EmptyDataTemplate>
<table style="border-collapse: collapse; width: 100%" cellspacing="0" rules="all"
border="1">
<tr>
<th scope="col">
选择1
</th>
<th scope="col">
选择2
</th>
<th scope="col">
输入文字
</th>
</tr>
<tr><td>
<asp:DropDownList ID="x1" runat="server">
<asp:ListItem>L0</asp:ListItem>
<asp:ListItem>L1</asp:ListItem>
<asp:ListItem>L2</asp:ListItem>
<asp:ListItem>L3</asp:ListItem>
</asp:DropDownList>
</td><td>
<asp:DropDownList ID="x2" runat="server">
<asp:ListItem>10#</asp:ListItem>
<asp:ListItem>20#</asp:ListItem>
<asp:ListItem>30#</asp:ListItem>
<asp:ListItem>40#</asp:ListItem>
</asp:DropDownList>
</td><td>
<asp:TextBox ID="x3" runat="server"></asp:TextBox>
</td></tr>
</table>
</EmptyDataTemplate>
<Columns>
<asp:TemplateField HeaderText="选择1">
<ItemTemplate>
<asp:DropDownList ID="x1" runat="server" AutoPostBack="true" OnSelectedIndexChanged="x1_SelectedIndexChanged">
<asp:ListItem>L0</asp:ListItem>
<asp:ListItem>L1</asp:ListItem>
<asp:ListItem>L2</asp:ListItem>
<asp:ListItem>L3</asp:ListItem>
</asp:DropDownList>
</ItemTemplate>
<FooterTemplate>
<asp:DropDownList ID="x1" runat="server">
<asp:ListItem>L0</asp:ListItem>
<asp:ListItem>L1</asp:ListItem>
<asp:ListItem>L2</asp:ListItem>
<asp:ListItem>L3</asp:ListItem>
</asp:DropDownList>
</FooterTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="选择2">
<ItemTemplate>
<asp:DropDownList ID="x2" runat="server" AutoPostBack="true" OnSelectedIndexChanged="x2_SelectedIndexChanged">
<asp:ListItem>10#</asp:ListItem>
<asp:ListItem>20#</asp:ListItem>
<asp:ListItem>30#</asp:ListItem>
<asp:ListItem>40#</asp:ListItem>
</asp:DropDownList>
</ItemTemplate>
<FooterTemplate>
<asp:DropDownList ID="x2" runat="server">
<asp:ListItem>10#</asp:ListItem>
<asp:ListItem>20#</asp:ListItem>
<asp:ListItem>30#</asp:ListItem>
<asp:ListItem>40#</asp:ListItem>
</asp:DropDownList>
</FooterTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="输入文字">
<ItemTemplate>
<asp:TextBox ID="x3" runat="server" AutoPostBack="true" OnTextChanged="x3_TextChanged"></asp:TextBox>
</ItemTemplate>
<FooterTemplate>
<asp:TextBox ID="x3" runat="server"></asp:TextBox>
</FooterTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
<asp:LinkButton ID="LinkButton1" runat="server" Text="添加内容" OnClick="LinkButton1_Click"></asp:LinkButton>
<asp:LinkButton ID="LinkButton2" runat="server" Text="删除内容" OnClick="LinkButton2_Click"></asp:LinkButton>
</form>
</body>
</html>
关于viewstate和datatable动态录入数据示例的用户互动如下:
相关问题:
答: >>详细
相关问题:
答: >>详细
相关问题:
答: >>详细
- 【asp】asp.net url重写浅谈-net-url重写
- 【DataSet】DataSet、DataTable、DataRow区别详解
- 【asp】asp.net 动态添加多个用户控件-net-动态添
- 【ASP】ASP.NET中内嵌页面代码的一个问题-NET-内
- 【As】Asp.net中的页面乱码的问题-sp--pn-ne-et
- 【增加记录】asp.net中获取新增加记录的ID Access
- 【创建】ASP.NET Web API教程 创建域模型的方法详
- 【Asp】Asp.net 页面调用javascript变量的值-net-
- 【ASP】ASP.NET 5升级后如何删除旧版本的DNX-NET5
- 【404页面】ASP.NET设置404页面返回302HTTP状态码
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
