展会信息港展会大全

viewstate和datatable动态录入数据示例
来源:互联网   发布日期:2016-01-26 10:50:52   浏览:1546次  

导读:这篇文章主要介绍了viewstate和datatable动态录入数据示例,需要的朋友可以参考下代码如下:%@ Page Language=C EnableViewState=true %%@ Import Namespace=System Data %!DOCTYPE html PUB ...

这篇文章主要介绍了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>

赞助本站

人工智能实验室

相关热词: datatable viewstate

AiLab云推荐
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港