• [网络收集]ASP.NET两种办法给DropDownList绑定SqlDataReader 及在gridview等控件中绑定dropdownlist的简单方法


    第一种方法:

            string sqlstr = "DATA SOURCE=127.0.0.1,1433;Password=123;UID=sa";
            string cmdstr = "SELECT * FROM admin";
            SqlConnection conn = new SqlConnection(sqlstr);
            SqlCommand cmd = new SqlCommand(cmdstr, conn);
            SqlDataReader rdr = cmd.ExecuteReader();
            if(rdr!=null)
            {
               DropDownList1.DataSource = rdr;
               DropDownList1.DataTextField = "name";
               DropDownList1.DataValueField = "name";
               DropDownList1.DataBind();
           }

    说明:使用这种方法绑定切忌不能对SqlDataReader进行Read(),因为这样子会从第二条数据绑定开始

    我给DropDownList的DataTextField和DataValueField都绑定同一个字段name是为了演示而已,大家可

    以在具体应用绑定两个不同字段,最后要记得DataBind()一下,否则无数据显示

    第二种方法:

            string sqlstr = "DATA SOURCE=127.0.0.1,1433;Password=123;UID=sa";
            string cmdstr = "SELECT * FROM admin";
            SqlConnection conn = new SqlConnection(sqlstr);
            SqlCommand cmd = new SqlCommand(cmdstr, conn);
            SqlDataReader rdr = cmd.ExecuteReader();
            while (rdr.Read())
            {
                ListItem item = new ListItem(rdr[0].ToString(), rdr[0].ToString());
                DropDownList1.Items.Add(item);
            }

    说明:这个是笨方法,相当把数据一条一条的填充到DropDownList里面,因为DropDownList里面的每一

    项都是一个类型为ListItem的这么个东西,所以可以给它一个一个绑定,当然这种办法效率肯定不高,不

    合适数据量大的时候的绑定。

    最后补充一下,我这里说的是SqlDataReader的作为数据源,其实还可以使用DataTable,DataSet这些来

    作为它的数据库也是一样的道理。

     

    在gridview等控件中绑定dropdownlist的简单方法

    <asp:TemplateField HeaderText="是否锁定">
                    <ItemTemplate>
                        <asp:DropDownList ID="isLock" runat="server" SelectedValue=<%# Bind("cateIsLock") %>>
                            <asp:ListItem Text="是" Value="True"></asp:ListItem>
                            <asp:ListItem Text="否" Value="False"></asp:ListItem>
                        </asp:DropDownList>
                    </ItemTemplate>
                </asp:TemplateField>

    摘自 http://hi.baidu.com/new%BD%CC%B8%B8/blog/item/e972900a51f88e8cd1581b06.html

  • 相关阅读:
    “epoll errno (EINTR)4” —— epoll遭遇EINTR(Interrupted system call)
    linux普通用户无法登录mysql,管理员用户却不用密码就能登录
    三小时快速入门Python第五篇--异常处理与迭代器
    三小时快速入门Python第四篇--函数与对象
    三小时快速入门Python第三篇--控制流分支与循环
    三小时快速入门Python第二篇--变量与集合
    三小时快速入门Python第一篇--原始数据类型与操作
    Go语言学习笔记十八-练习篇-Go语言版学生信息管理系统
    Go语言学习笔记十七--Go语言面向对象struct的基本使用
    Go语言学习笔记十六-Go语言init函数
  • 原文地址:https://www.cnblogs.com/lushuicongsheng/p/1891485.html
Copyright © 2020-2023  润新知