在gridview中绑定dropdownlist的方法

前台代码以一个模版列为例

 <asp:TemplateField HeaderText="学历">
                                    <ItemTemplate>
                                        <%# Eval("description")%>
                                    </ItemTemplate>
                                    <EditItemTemplate>
                                        <asp:HiddenField ID="HDFXueli" runat="server" Value='<%# Eval("xueli") %>' />
                                        <asp:DropDownList ID="DDLXueli" runat="server" Width="90px" />
                                    </EditItemTemplate>
                                    <ItemStyle Width="100px" />
                                </asp:TemplateField>

显示列为                            

           <ItemTemplate>

            <%# Eval("description")%>
           </ItemTemplate>

其中<%# Eval("description")%>为绑定字段

编辑列为

                                    <EditItemTemplate>
                                        <asp:HiddenField ID="HDFXueli" runat="server" Value='<%# Eval("xueli") %>' />
                                        <asp:DropDownList ID="DDLXueli" runat="server" Width="90px" />
                                    </EditItemTemplate>
即列如果为编辑状态的话则执行这段代码

其中有一个隐藏列其目的是当该行为编辑状态时dropdownlist此时的初始值是显示列的值,所以隐藏列储存的作用,在gridview绑定数据是hiddenfied会绑定上与显示列中相同的值以便在编辑时将此值传给dropdownlist控件中。

怎样为dropdownlist绑定数据

首先在绑定数据之前应做如下判定

if(e.Row.RowType==DtaConctrolRowType.Datarow&&e.Row.Dataset==DatacontrolRowSet.Edit)

e.Row.RowType==DtaConctrolRowType.Datarow是此行为编辑行

e.Row.RowSet==DataControlSowsSet.Edit是此行为编辑状态

然后在此判断语句中写如下代码:

            DropDownList ddlxueli = (DropDownList)e.Row.FindControl("DDLXueli");                          //找到此控件
            string connStr = ConfigurationManager.ConnectionStrings["ConnString"].ConnectionString;//获取连接字符串
            string SqlStr = "SELECT * from xueli";                                                                        // 获取sql语句
            DataSet ds = new DataSet();                                                                                   //获得缓存

            SqlConnection conn = new SqlConnection(connStr);                                                    
            if (conn.State.ToString() == "Closed") conn.Open();
            SqlDataAdapter da = new SqlDataAdapter(SqlStr, conn);                                            
            da.Fill(ds, "xueli");                                                                                                 //将数据填入缓存

            if (conn.State.ToString() == "Open") conn.Close();
            ddlxueli.DataSource = ds.Tables[0].DefaultView;                                                        //为该控件提供数据源
            ddlxueli.DataTextField = "description";                                                                      设置字段
            ddlxueli.DataValueField = "code";
            ddlxueli.DataBind();                                                                                               绑定数据

 

转载于:https://www.cnblogs.com/qihongshuo/archive/2011/08/05/2128424.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值