zoukankan      html  css  js  c++  java
  • GridView中CheckBox,RadioButton并存的同时且有相互关系

    目的:  在GridView中一列存放CheckBox,一列存放RadioButton;并且选择了CheckBox才能激活同行的RadioButton.

    前台文件

    <asp:GridView ID="GridView1" runat="server" Width="99%" AutoGenerateColumns="False"
                                SkinID="GridViewskin" onrowdatabound="GridView1_RowDataBound">
                                <Columns>
                                    <asp:TemplateField HeaderText="编号" ItemStyle-Width="25%">
                                        <ItemTemplate>
                                            <%#Eval("ID")%>
                                        </ItemTemplate>
                                    </asp:TemplateField>
                                    <asp:TemplateField HeaderText="名称" ItemStyle-Width="25%">
                                        <ItemTemplate>
                                         <%#(Eval("Name"))%>
                                        </ItemTemplate>
                                    </asp:TemplateField>
                                    <asp:TemplateField HeaderText="设置" ItemStyle-Width="25%">
                                        <ItemTemplate>
                                         <asp:CheckBox ID="CheckBox1" runat="server" AutoPostBack="true"
                                                oncheckedchanged="CheckBox1_CheckedChanged" />
                                        </ItemTemplate>
                                    </asp:TemplateField>
                                    <asp:TemplateField HeaderText="默认" ItemStyle-Width="25%">
                                        <ItemTemplate>
                                        <asp:RadioButton ID="RadioButton1" runat="server" />
                                        </ItemTemplate>
                                    </asp:TemplateField>
                                </Columns>

                            </asp:GridView>

    <script type="text/javascript">
        var last=null;
        function single(obj)
        {
          if(last==null)    //第一次选择RadioButton时赋id值给last
          {
             last=obj.id; 
          }
          else            //第一次以后的每一次都在这运行,把上此的RadioButton.Checked=false,记下此次的obj.name
          {
            var lo=document.getElementById(last);
            lo.checked=false;
            last=obj.id;
          }
          obj.checked="checked";   //添加checked属性,以便在上边赋值为false
        }
        </script>

    后台CS

    protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
            {
                if (e.Row.RowType == DataControlRowType.DataRow)
                {
                    RadioButton rb = (RadioButton)e.Row.FindControl("RadioButton1");
                    if (rb != null)
                    {
                        rb.Attributes.Add("onclick", "single(this)");  //single(obj)为js函数 
                        rb.Enabled = false;
                    }
                }
            }

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

  • 相关阅读:
    c#devexpres窗体划分 以及panelcontrol 相关操作
    c# 线程启动while(true) 死循环,里边的return导致线程退出情况,查错
    C# 解决SharpSvn启动窗口报错 Unable to connect to a repository at URL 'svn://....'
    Svn启动窗口报错 Could not load file or assembly 'SharpSvn.dll' or one of its
    c# sharpsvn 客户端开发总结
    sharpsvn 继续,解决文件locked 问题,
    c# sharpsvn 客户端开发测试
    c# sharpsvn 客户端开发总结
    SharpSvn 调用在运行时提示加载程序集出错,或有依赖项
    RibbonControl 工具栏上的一些基本操作
  • 原文地址:https://www.cnblogs.com/qfb620/p/1958097.html
Copyright © 2011-2022 走看看