Repeater中 DropDownList如何绑定数据

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Repeater中 DropDownList如何绑定数据相关的知识,希望对你有一定的参考价值。

表Leavewords 中有个字段 isopen 默认值为0,表示-不显示
如何达到 Repeater中的DropDownList控件有两个选项,开启与关闭。
当选择关闭时 将isopen值改为0,
当选择开启时 将isopen值改为1.
显示的时候,要根据isopen的值来显示。

Repeater绑定DropDownList

<%@ Page Theme="Default" Title="" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="EditIndividualCell.aspx.cs" Inherits="Ajax学习.EditIndividualCell" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="cph" runat="server">    
    <asp:Repeater ID="Repeater1" runat="server" DataSourceID="SqlDataSource1" 
        onitemdatabound="Repeater1_ItemDataBound" 
        ondatabinding="Repeater1_DataBinding" onitemcreated="Repeater1_ItemCreated">
    <ItemTemplate>
        <asp:TextBox ID="TextBox1" runat="server" Text = \'<% # Eval("TM") %>\' TextMode="MultiLine">\'></asp:TextBox><asp:TextBox ID="TextBox2" runat="server" Text = \'<% # Eval("YHM") %>\' TextMode="MultiLine">\'></asp:TextBox><br />
        <asp:DropDownList ID = "ddl" runat="server" DataTextField="YHM" DataValueField="YHM" ></asp:DropDownList><br />
    </ItemTemplate>
    </asp:Repeater>
    <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
        ConnectionString="<%$ ConnectionStrings:QingShiConnectionString %>" 
        DeleteCommand="DELETE FROM ML WHERE (SXH = @sxh)" 
        InsertCommand="INSERT INTO ML(SXH, TM, XGRQ, IS_SELECTED, YHM) VALUES (@sxh, @tm, @xgrq, @IS_SELECTED)" 
        SelectCommand="SELECT TOP (10) SXH, TM, XGRQ, IS_SELECTED, YHM FROM ML" 
        UpdateCommand="UPDATE ML SET TM = @tm, XGRQ = @xgrq, IS_SELECTED = @IS_SELECTED, YHM = @YHM WHERE (SXH = @sxh)">
        <DeleteParameters>
            <asp:Parameter Name="sxh" />
        </DeleteParameters>
        <UpdateParameters>
            <asp:Parameter Name="tm" />
            <asp:Parameter Name="xgrq" />
            <asp:Parameter Name="IS_SELECTED" />
            <asp:Parameter Name="YHM" />
            <asp:Parameter Name="sxh" />
        </UpdateParameters>
        <InsertParameters>
            <asp:Parameter Name="sxh" />
            <asp:Parameter Name="tm" />
            <asp:Parameter Name="xgrq" />
            <asp:Parameter Name="IS_SELECTED" />
        </InsertParameters>
    </asp:SqlDataSource>
    <asp:SqlDataSource ID="sqlds" runat="server" ConnectionString="<%$ ConnectionStrings:QingShiConnectionString %>" SelectCommand="Select distinct yhm from ml" ></asp:SqlDataSource>
</asp:Content>
参考技术A for(int i=0;i<Repeater.Items.Count;i++)

DropDownList ddl=(DropDownList)Repeater.Item[i].FindControl("DropDownList的ID");
// DataTable tbl=new DataTable();

// ......

//ddl.DataSource=tbl;
// ddl.DataTextFiled="";
//ddl.DataValueFiled="";
//ddl.DataBind();
//上为DropDownList绑定

//同理,可以把字段"isopen"放进一个Label里边,Label 的设置为不显示

Label lbl=(Label )Repeater.Item[i].FindControl("Label 的ID");
ddl.SelectedValue=lbl.Text;


代码手写的
有可能有错误
我就不测试了本回答被提问者采纳
参考技术B 你是要调用方法还是说默认选中啊?

【JS】如何更改dropdownlist 当前选定值

请问如何更改dropdownlist的选中值 如图

在我选定 "|--青岛" 之后,去掉前面的“|--”符号,应该如何处理呢?
也就是说,选定值去掉“|--” ,但实际数据还是有“|--”的,请问如何实现呢?
继续求解中...........
数据库中存在的数据不带“|--”的,|--符号只是在数据绑定的时候动态添加的,下面的朋友说,取值的时候不加“|--”符号,但如果不加下拉控件又怎会显示这样的效果呢?呵呵,所有说还是得用js去解决;以下是我的代码:
function RemValue()

var item=$('item');

var deva=item.options[item.selectedIndex].text;//获取原先值
item.options[item.selectedIndex].text=deva.replace("|--",""); //更改选中的值,去掉“|--”
for(var i=0;i<item.options.length;i++)

if(item.options[i].text==item.options[item.selectedIndex].text) //如果在循环过程中,发现列表中的数据为选定的数据,则为当前数据赋值deva

item.options[i].text=deva;


//alert(deva);

RemValue方法是dropdownlist的onchange方法,item是该控件的ID,但是上面的语句不正确,请帮我看一下谢谢!

综上所述.
1、推荐你再绑定数据时就将Text和Value分开,取值的时候只取Value,比去掉 “|--”方便的多
2、TEXT="|--青岛"//显示给用户看的值
VALUE="青岛"; //存数据库的值
参考技术A 呃,TEXT="青岛"
VALUE="--青岛";
参考技术B 推荐你再绑定数据时就将Text和Value分开,取值的时候只取Value,比去掉 “|--”方便的多

以上是关于Repeater中 DropDownList如何绑定数据的主要内容,如果未能解决你的问题,请参考以下文章

Repeater和Webform注册

Repeater 控件的嵌套使用

Repeater 绑定的数据怎么获取

.net(c#)Repeater控件问题

数据绑定控件之Repeater

第二个Dropdownlist无法选择其他选项