如何避免从下拉列表中选择?

时间:2013-03-22 13:07:38

标签: c# asp.net

我不知道在运行时填充下拉列表时如何避免列出选择文本。

    DataRow row = ds.Tables[0].NewRow();
    row["cabTypeId"] = "0";
    row["cabType"] = "Select";
    ds.Tables[0].Rows.InsertAt(row, 0);
    ddlCabSize.DataTextField = ds.Tables[0].Columns["cabType"].ToString();
    ddlCabSize.DataValueField = ds.Tables[0].Columns["cabTypeId"].ToString();
    ddlCabSize.DataSource = ds.Tables[0];
    ddlCabSize.DataBind();

如果我选择下拉列表意味着“选择”不应显示到下拉列表。帮帮我怎么做?

4 个答案:

答案 0 :(得分:0)

对于插入时的需要,您可以使用Add Method

添加此代码
ddlCabSize.DataBind();
ddlCabSize.Items.Add(new ListItem("Select .."));

link:http://msdn.microsoft.com/fr-fr/library/e7s6873c.aspx

注意:您也可以使用“插入方法”

您必须将列添加到表

DataColumn dc = new DataColumn ("Name", Type);
dt.Columns.Add(dc);

所以:

DataColumn dc = new DataColumn ("cabType", typeof(string));

答案 1 :(得分:0)

使用以下代码。

ddlCabSize.DataSource = ds.Tables[0];
ddlCabSize.DataTextField = ds.Tables[0].Columns["cabType"].ToString();
ddlCabSize.DataValueField = ds.Tables[0].Columns["cabTypeId"].ToString();
ddlCabSize.DataBind();
ddlCabSize.Items.Insert(0, new ListItem("Select Below","0"));

答案 2 :(得分:0)

不确定你在问什么。

尝试交换你的价值观。

ddlCabSize.DataTextField = ds.Tables[0].Columns["cabTypeId"].ToString();
ddlCabSize.DataValueField = ds.Tables[0].Columns["cabType"].ToString();

答案 3 :(得分:0)

如果我的问题正确无误,一旦选择更改,您需要从下拉列表中删除带有“选择”或值=“0”的项目

您可以使用jquery轻松完成此操作,因为您需要知道下拉列表的clientId,这很容易使用ddlCabSize.ClientID属性

将jquery引用添加到您的页面

<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>

并复制脚本代码

<script type="text/javascript">
 $(document).ready(function () {
     $("#<#= ddlCabSize.ClientID #>").change(function () {
         $("#<#= ddlCabSize.ClientID #> option[value='0']").remove();
     });
 });
</script>

请参阅fiddle for more info