gridview里模板列使用textbox、button赋值取值,以及全选按钮的使用

来源:互联网 发布:狼图腾 知乎 编辑:程序博客网 时间:2024/05/16 04:43

gridview里模板列使用textbox,button赋值和获取值,以及和全选按钮的使用

html 页面

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"   Width="100%">     <Columns><asp:TemplateField> <ItemTemplate> <asp:CheckBox ID="CheckBox2" runat="server" OnCheckedChanged="CheckBox2_CheckedChanged1"></asp:CheckBox> </ItemTemplate>
     </asp:TemplateField>     <asp:BoundField HeaderText="订单编号" DataField="OrderNo" />     <asp:BoundField HeaderText="商品id" DataField="simid" />     <asp:BoundField DataField="simprice" HeaderText="单价" />     <asp:TemplateField HeaderText="数量">         <ItemTemplate>             <asp:Button ID="Button2" runat="server" Text="-" OnClick="Button2_Click" />             <asp:TextBox ID="tbnumber" runat="server" Text='<%#Eval("TotalNumber") %>'></asp:TextBox>              <asp:Button ID="Button3" runat="server" Text="+" OnClick="Button3_Click" />          </ItemTemplate>      </asp:TemplateField>      </Columns> </asp:GridView><asp:CheckBox ID="CheckBox2" runat="server" AutoPostBack="True" Font-Strikeout="False" OnCheckedChanged="CheckBox2_CheckedChanged" Text="全选" />

gridview里面的模板列使用了两个button,一个+一个-,还有一个文本框放置数据

给gridview初始化赋值的时候,根据选择出的datatable,将各个字段赋值,其中的TotalNumber字段通过<%#Eval("TotalNumber") %>的方式赋值给textbox

button+的事件 

protected void Button3_Click(object sender, EventArgs e) { Button btn = sender as Button; GridViewRow row = btn.Parent.Parent as GridViewRow;//这个patent容器可能不止是一个TextBox tbox = (TextBox)GridView1.Rows[row.RowIndex].FindControl("tbnumber");//这种方式来获取字段 int num = Convert.ToInt32(tbox.Text.Trim())+1;tbox.Text = Convert.ToString(num);  }
button-事件

protected void Button2_Click(object sender, EventArgs e) { Button btn = sender as Button; GridViewRow row = btn.Parent.Parent as GridViewRow; TextBox tbox = (TextBox)GridView1.Rows[row.RowIndex].FindControl("tbnumber"); int num = Convert.ToInt32(tbox.Text.Trim()); if (num > 1)   {    num = num - 1; } tbox.Text = Convert.ToString(num);   }

全选按钮


protected void CheckBox2_CheckedChanged(object sender, EventArgs e) { for (int i = 0; i <= GridView1.Rows.Count - 1; i++) {    CheckBox cbox = (CheckBox)GridView1.Rows[i].FindControl("CheckBox2");    if (CheckBox2.Checked == true)            {              cbox.Checked = true;            }           else            {              cbox.Checked = false;             }        } }












阅读全文
0 0