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>