给gridview动态生成radiobutton添加OnCheckedChanged事件
aspx頁面部分代碼:
?
<asp:TemplateField HeaderText="學位類別" SortExpression="gdxw"><ItemTemplate><%# Eval("gdxw")%></ItemTemplate><ItemStyle HorizontalAlign="Center" /></asp:TemplateField><asp:TemplateField HeaderText="同意" SortExpression="xwkyqxf"><ItemTemplate><asp:RadioButton ID="TySy" runat="server" GroupName="bjyj" AutoPostBack="True" OnCheckedChanged="check_TySy" /></ItemTemplate><ItemStyle HorizontalAlign="Center" /></asp:TemplateField><asp:TemplateField HeaderText="不同意" SortExpression="zdkxxf"><ItemTemplate><asp:RadioButton ID="BtySy" runat="server" GroupName="bjyj" AutoPostBack="True" OnCheckedChanged="check_BtySy"/></ItemTemplate><ItemStyle HorizontalAlign="Center" /></asp:TemplateField><asp:TemplateField HeaderText="同意推遲" SortExpression="kkzyxkxf"><ItemTemplate><asp:RadioButton ID="TyTcsy" runat="server" GroupName="bjyj" AutoPostBack="True" OnCheckedChanged="chenk_TyTcsy" /></ItemTemplate><ItemStyle HorizontalAlign="Center" /></asp:TemplateField><asp:TemplateField HeaderText="棄權" SortExpression="xwkyqcj"><ItemTemplate><asp:RadioButton ID="Qq" runat="server" GroupName="bjyj" AutoPostBack="True" OnCheckedChanged="chenk_Qq" /></ItemTemplate><ItemStyle HorizontalAlign="Center" /></asp:TemplateField> 加入聲明代碼如下://給每個RadioButton1綁定setRadio事件
????????try
??????? {
??????????? ((RadioButton)e.Row.FindControl("TySy")).Attributes.Add("OnCheckedChanged",?"chenk_TySy");
??????????? ((RadioButton)e.Row.FindControl("BtySy")).Attributes.Add("OnCheckedChanged",?"chenk_BtySy");
??????????? ((RadioButton)e.Row.FindControl("TyTcsy")).Attributes.Add("OnCheckedChanged",?"chenk_TyTcsy");
??????????? ((RadioButton)e.Row.FindControl("Qq")).Attributes.Add("OnCheckedChanged",?"chenk_Qq");
??????? }
????????catch?(Exception)
??????? { }
OnCheckedChanged函數:
#region?授予選擇發生改變
????//同意授予發生變化
????protected?void?check_TySy(object?sender, EventArgs e)
??? {
????????//記錄同意授予項個數
????????int?t = gvData.Rows.Count;
????????for?(int?i =?0; i <= gvData.Rows.Count -?1; i++)
??????? {
??????????? RadioButton TySy = (RadioButton)gvData.Rows[i].Cells[5].FindControl("TySy");
????????????if?(TySy.Checked ==?true)
??????????? {//存在同意授予項
??????????????? QbBty.Checked =?false;
??????????????? QbTc.Checked =?false;
??????????????? QbQq.Checked =?false;
??????????? }
????????????else
??????????? {
??????????????? t--;
??????????? }
????????????//Response.Write("<script>window.alert('進入同意授予發生變化方法。')</script>");
??????? }
????????if?(t == gvData.Rows.Count)
??????? {//全為同意授予項
??????????? QbTy.Checked =?true;
??????? }
????????else
??????? {//存在非同意授予項
??????????? QbTy.Checked =?false;
??????? }
??? }
????//同意延遲授予發生變化
????protected?void?chenk_TyTcsy(object?sender, EventArgs e)
??? {
????????//記錄同意推遲授予項
????????int?t = gvData.Rows.Count;
????????//循環個同意推遲授予項
????????for?(int?i =?0; i <= gvData.Rows.Count -?1; i++)
??????? {
??????????? RadioButton TyTcsy = (RadioButton)gvData.Rows[i].Cells[7].FindControl("TyTcsy");
????????????if?(TyTcsy.Checked ==?true)
??????????? {//存在一個同意延遲授予項
??????????????? QbTy.Checked =?false;
??????????????? QbBty.Checked =?false;
??????????????? QbQq.Checked =?false;
??????????? }
????????????else
??????????? {
??????????????? t--;
??????????? }
??????? }
????????if?(t == gvData.Rows.Count)
??????? {//全為同意推遲授予項
??????????? QbTy.Checked =?true;
??????? }
????????else
??????? {//存在非同意延遲授予項
??????????? QbTy.Checked =?false;
??????? }
??? }
????//不同意授予發生變化
????protected?void?check_BtySy(object?sender, EventArgs e)
??? {
????????//記錄不同意授予個數
????????int?t = gvData.Rows.Count;
????????//循環個不同意授予項
????????for?(int?i =?0; i <= gvData.Rows.Count -?1; i++)
??????? {
??????????? RadioButton BtySy = (RadioButton)gvData.Rows[i].Cells[6].FindControl("BtySy");//取出個不同意授予項
????????????if?(BtySy.Checked ==?true)
??????????? {//存在一個不同意授予項則將其余全選項置為false
??????????????? QbTy.Checked =?false;
??????????????? QbTc.Checked =?false;
??????????????? QbQq.Checked =?false;
??????????? }
????????????else
??????????? {
??????????????? t--;
??????????? }
??????? }
????????//
????????if?(t == gvData.Rows.Count)
??????? {//全為不同意授予項
??????????? QbBty.Checked =?true;
??????? }
????????else
??????? {//存在非不同意授予項
??????????? QbBty.Checked =?false;
??????? }
??? }
????//棄權發生變化
????protected?void?chenk_Qq(object?sender, EventArgs e)
??? {
????????//記錄選中個數
????????int?t = gvData.Rows.Count;
????????//循環查看個選項
????????for?(int?i =?0; i <= gvData.Rows.Count -?1; i++)
??????? {
??????????? RadioButton Qq = (RadioButton)gvData.Rows[i].Cells[8].FindControl("Qq");//取出每一行的棄權項
????????????if?(Qq.Checked ==?true)
??????????? {//如果存在一個棄權項,則所有的全選都置為false
??????????????? QbTy.Checked =?false;
??????????????? QbBty.Checked =?false;
??????????????? QbTc.Checked =?false;
??????????? }
????????????else
??????????? {
??????????????? t--;
??????????? }
??????? }
????????if?(t == gvData.Rows.Count)
??????? {//全部選擇棄權
??????????? QbQq.Checked =?true;
??????? }
????????else
??????? {//存在非棄權項
??????????? QbQq.Checked =?false;
??????? }
??? }
????#endregion
總結
以上是生活随笔為你收集整理的给gridview动态生成radiobutton添加OnCheckedChanged事件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: GridView中的RadioButto
- 下一篇: gridView里如何添加详情按钮,点击