`

C#中GRIDVIEW单选按钮使用

阅读更多

page代码:

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 
        BackColor="White" BorderColor="#E7E7FF" BorderStyle="None" BorderWidth="1px" 
        CellPadding="3" GridLines="Horizontal" Width="100%" 
        onrowdatabound="GridView1_RowDataBound" 
        onrowcommand="GridView1_RowCommand" CssClass="text">
        <RowStyle BackColor="#E7E7FF" ForeColor="#4A3C8C" />
        <Columns>
            <asp:TemplateField HeaderText="选择">
                <ItemTemplate>
                    <input ID="RadioLine" name="RadioLine" type="radio" value="<%#Eval("accessory_id")%>" />
                </ItemTemplate>
                <ItemStyle HorizontalAlign="Center" />
            </asp:TemplateField>
            <asp:BoundField DataField="accessory_id" HeaderText="附件ID" />
            <asp:BoundField DataField="order_header_id" HeaderText="订单ID" />
            <asp:BoundField DataField="accessory_name" HeaderText="附件名称" />
            <asp:BoundField DataField="accessory_description" HeaderText="附件说明" />
            <asp:BoundField DataField="creation_date" DataFormatString="{0:d}" HeaderText="创建日期" />
            <asp:BoundField DataField="created_by" HeaderText="创建人" />
            <asp:BoundField DataField="accessory_size" HeaderText="文件大小" />
            <asp:BoundField DataField="accessory_type" HeaderText="文件类型" />
            <asp:ButtonField CommandName="DownItem" HeaderText="下载" ShowHeader="True" Text="下载" >
            <ItemStyle HorizontalAlign="Center" />
            </asp:ButtonField>
            <asp:ButtonField CommandName="DelItem" HeaderText="删除" ShowHeader="True" Text="删除" >
            <ItemStyle HorizontalAlign="Center" />
            </asp:ButtonField>
        </Columns>
        <FooterStyle BackColor="#B5C7DE" ForeColor="#4A3C8C" />
        <PagerStyle BackColor="#E7E7FF" ForeColor="#4A3C8C" HorizontalAlign="Right" />
        <SelectedRowStyle BackColor="#738A9C" Font-Bold="True" ForeColor="#F7F7F7" />
        <HeaderStyle BackColor="#4A3C8C" Font-Bold="True" ForeColor="#F7F7F7" />
        <AlternatingRowStyle BackColor="#F7F7F7" />
    </asp:GridView>

 C#中单选按钮

protected void Page_Load(object sender, EventArgs e)
        {
            // 单选按钮
            if (!this.IsStartupScriptRegistered("Startup"))
            {
                this.RegisterStartupScript("Startup", RegisterScript.RadioRowSelected(hidden_id.ClientID));
            }
            if(!Page.IsPostBack)
            { 
                StringBuilder sqlBuilder = new StringBuilder();
                sqlBuilder.Append("select oa.accessory_id, oa.order_header_id, oa.accessory_name,oa.accessory_description, ");
                sqlBuilder.Append("oa.creation_date, oa.created_by, oa.accessory_size, oa.accessory_type ");
                sqlBuilder.Append("from oe_accessories oa ");
                sqlBuilder.Append("where 1 = 1 ");
                DataSet ds = db.returnds(sqlBuilder.ToString());
                this.GridView1.DataSource = ds.Tables[0].DefaultView;
                this.GridView1.DataBind();
            }
        }

 C#单选按钮js注册

using System;
using System.Collections.Generic;
using System.Web.UI.HtmlControls;

namespace order.Components
{
    public class RegisterScript
    {
        public static string RadioRowSelected(string hiddenControls)
        {
            string js = "";
            js += "<script language='javascript' type='text/javascript'>\r\n";
            js += "    function RadioSelectedRow() {\r\n";
            js += "        for (i = 0; i < document.getElementsByName('RadioLine').length; i++) {\r\n";
            js += "            if (document.getElementsByName('RadioLine')[i].value == document.getElementById('" + hiddenControls + "').value) {\r\n";
            js += "                document.getElementsByName('RadioLine')[i].checked = true;\r\n";
            js += "            }\r\n";
            js += "        }\r\n";
            js += "    }\r\n";
            js += "    window.onload = RadioSelectedRow;\r\n";
            js += "</script> \r\n"; 
            return js;
        } 
    }
}

 C#单选按钮选择行

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            // 改变背景颜色
            if (e.Row.RowType == DataControlRowType.Header)
            {
                //
            }
            if (e.Row.RowType == DataControlRowType.DataRow)
            {
                e.Row.Attributes.Add("onclick", "fn_RadioRowSingle(this,event)");
                e.Row.Attributes.Add("class", e.Row.RowIndex % 2 == 0 ? "rowOdd" : "rowEven");
                e.Row.Attributes.Add("oldClass", e.Row.RowIndex % 2 == 0 ? "rowOdd" : "rowEven");
                e.Row.Attributes.Add("onmouseover", "lastBackgroundColor=this.className;this.className='rowCurrent'");
                e.Row.Attributes.Add("onmouseout", "this.className=lastBackgroundColor;");
                // 绑定按钮
                int CellsCount = e.Row.Cells.Count;
                LinkButton BtnDownItem = e.Row.Cells[CellsCount - 2].Controls[0] as LinkButton;
                LinkButton BtnDelItem = e.Row.Cells[CellsCount - 1].Controls[0] as LinkButton;
                string RowCells = "role_id=" + e.Row.Cells[1].Text.Trim();
                BtnDownItem.Attributes.Add("onclick", "return fn_DownItem('" + RowCells + "');");
                BtnDelItem.Attributes.Add("onclick", "return fn_DelItem('" + RowCells + "');");
            }
        }

 Js中单选按钮选择

// 选中一行:单选按钮
function fn_RadioRowSingle(row, evt) {
    var obj = evt.target || event.srcElement;
    if (obj.tagName && obj.tagName != "INPUT") {
        row.cells[0].children[0].checked = true;
    }
}
 

 

分享到:
评论

相关推荐

    简单的GridView单选按钮行选择器

    一个自定义Web控件,用于将单选按钮选择添加到GridView控件。

    在GridView中实现单选或多选功能

    NULL 博文链接:https://haiyang08101.iteye.com/blog/2085309

    asp.net常用Web服务器控件

    4.5 单选按钮的应用 实例 性别选择 实例 网络考试系统中单选题答案的选择 4.6 复选框的应用 实例 登录身份选择 实例 网络考试系统中多选题答案的选择 4.7 控件连接数据源 实例 通过向导配置AccessDataSource 实例 ...

    多功能在线考试系统改进版源码(毕业设计c#)

    4、系统的登陆只用了一个界面,不用单选按钮就可以实现三种用户的智能登陆,会自动根据身份跳转到相应的页面。另外还用了Cookie实现了记住用户名。 5、学生登陆成功后,可以修改个人密码,查看考试记录,也可以选择...

    C# Winform数据库应用设计(附开发案例

    53.7单选按钮( Radio Button)和复选框( CheckBox) 104 538图片框( Pictruebo×)..105 54用 Message Box类显示消息窗口 541消息框的显示……106 5.4.2消息框的返回值 107 综合案例:职员信息管理. 109 仟务实训部分...

    asp.net知识库

    在ASP.NET中使用WINDOWS验证方式连接SQL SERVER数据库 改进ADO.Net数据库访问方式 ASP.NET 2.0 绑定高级技巧 简单实用的DataSet更新数据库的类+总结 [ADO.NET]由数据库触发器引发的问题 为ASP.NET封装的SQL数据库...

    《程序天下:JavaScript实例自学手册》光盘源码

    2.14 使用按钮控制文本渐变 2.15 翻页效果的公告栏 2.16 动态设置控件的事件 第3章 字符串文本和输入框特效 3.1 只带下划线的输入框 3.2 限定文本框可输入字符数 3.3 文字过长的省略号 3.4 输出26个英文字母 3.5 首...

    程序天下:JavaScript实例自学手册

    2.14 使用按钮控制文本渐变 2.15 翻页效果的公告栏 2.16 动态设置控件的事件 第3章 字符串文本和输入框特效 3.1 只带下划线的输入框 3.2 限定文本框可输入字符数 3.3 文字过长的省略号 3.4 输出26个英文字母 3.5 首...

    ASPNET35开发大全第一章

    3.4.3 分层设计中使用命名空间 3.5 类的方法 3.5.1 编写方法 3.5.2 给方法传递参数 3.5.3 通过引用来传递参数 3.5.4 方法的重载 3.6 封装 3.6.1 为什么要封装 3.6.2 类的设计 3.7 属性 3.7.1 语法 3.7.2 只读/只写...

    ASP.NET 3.5 开发大全word课件

    3.4.3 分层设计中使用命名空间 3.5 类的方法 3.5.1 编写方法 3.5.2 给方法传递参数 3.5.3 通过引用来传递参数 3.5.4 方法的重载 3.6 封装 3.6.1 为什么要封装 3.6.2 类的设计 3.7 属性 3.7.1 语法 3.7.2 只读/只写...

    ASP.NET 3.5 开发大全

    3.4.3 分层设计中使用命名空间 3.5 类的方法 3.5.1 编写方法 3.5.2 给方法传递参数 3.5.3 通过引用来传递参数 3.5.4 方法的重载 3.6 封装 3.6.1 为什么要封装 3.6.2 类的设计 3.7 属性 3.7.1 语法 3.7.2 只读/只写...

    ASP.NET 3.5 开发大全1-5

    3.4.3 分层设计中使用命名空间 3.5 类的方法 3.5.1 编写方法 3.5.2 给方法传递参数 3.5.3 通过引用来传递参数 3.5.4 方法的重载 3.6 封装 3.6.1 为什么要封装 3.6.2 类的设计 3.7 属性 3.7.1 语法 3.7.2 只读/只写...

    在线考试系统

    考生的其答题信息通过单选按钮选择答 案来反映。考试结束采取自主交卷的方式办法予以实现。 查看人员: 是用GridView完成的。查看人员的信息. 修改人员: 管理员还可以对人员进行修改。对于对数据库数据的修改,在...

    ASP.NET3.5从入门到精通

    3.4.3 分层设计中使用命名空间 3.5 类的方法 3.5.1 编写方法 3.5.2 给方法传递参数 3.5.3 通过引用来传递参数 3.5.4 方法的重载 3.6 封装 3.6.1 为什么要封装 3.6.2 类的设计 3.7 属性 3.7.1 语法 3.7.2 只读/只写...

    ASP.NET 3.5 开发大全11-15

    3.4.3 分层设计中使用命名空间 3.5 类的方法 3.5.1 编写方法 3.5.2 给方法传递参数 3.5.3 通过引用来传递参数 3.5.4 方法的重载 3.6 封装 3.6.1 为什么要封装 3.6.2 类的设计 3.7 属性 3.7.1 语法 3.7.2 只读/只写...

Global site tag (gtag.js) - Google Analytics