dr = new MySqlDataAdapter("select tvl_code,
concat_ws(',', tvl_code, citi_name) citiname
from code_desc where travel_mode = 'BUS'", conn);
ds1 = new DataSet();
dr.Fill(ds1);
ddlfrom.DataSource = ds1;
ddlfrom.DataTextField = "citiname";
ddlfrom.DataValueField = "tvl_code";
ddlfrom.DataBind();
通过这段代码我将我的组合框绑定到数据库,我可以从我的数据库中填充组合框。但是当我打开页面时,组合框默认包含一个值来自数据库。我在其中填充的数据库列表显示在组合框上。我想在组合框上显示空白。意味着它不应该显示任何打印,直到我将从下拉列表中选择一些东西。如何做到这一点.. ??
答案 0 :(得分:1)
试试这个:
ddlfrom.Items.Insert(0, "Select...");
像这样:
dr = new MySqlDataAdapter("select tvl_code, concat_ws(',', tvl_code, citi_name) citiname from code_desc where travel_mode = 'BUS'", conn);
ds1 = new DataSet();
dr.Fill(ds1);
ddlfrom.DataSource = ds1;
ddlfrom.DataTextField = "citiname";
ddlfrom.DataValueField = "tvl_code";
ddlfrom.DataBind();
ddlfrom.Items.Insert(0, "Select...");
答案 1 :(得分:0)
您可以像这样定义标记:
<asp:DropDownList AppendDataBoundItems="true" runat="server" DataTextField="Text" DataValueField="Id">
<asp:ListItem Text="Select..." Value="" />
</asp:DropDownList>
通过使用AppendDataBoundItems="true"
,您可以使用静态元素追加绑定集合。
我更喜欢这种方法在您的业务逻辑中添加“假”元素,因为如果您的查询的其他消费者不需要伪值,它会使您的逻辑更具可重用性。此外,默认值听起来更像是UI问题,而不是数据问题。
答案 2 :(得分:0)
您可以在实际数据
之前附加空行dr = new MySqlDataAdapter("select null, null union select tvl_code, concat_ws(',', tvl_code, citi_name) citiname from code_desc where travel_mode = 'BUS'", conn);
...
答案 3 :(得分:0)
由于您的示例代码位于代码
之后// do the databinding
dr.Fill(ds1);
DataRow row = ds1.Tables[0].NewRow();
row["tvl_code"] = -1;
row["citiname"] = "Select City";
// insert the row at the top of the table
ds1.Tables[0].Rows.InsertAt(row, 0);
ddlfrom.DataSource = ds1;
ddlfrom.DataTextField = "citiname";
ddlfrom.DataValueField = "tvl_code";
ddlfrom.DataBind();
希望这有帮助
答案 4 :(得分:0)
您可以在数据绑定代码
之后添加以下语句ddlfrom.Items.Insert(-1,new ListItem("TEXT","-1"));
答案 5 :(得分:0)
要在下拉列表中添加空白值,您可以在绑定控件后添加以下代码:
ddlfrom.Items.Insert(-1,new ListItem("","-1"));
这将在-1索引处添加一个带-1值的空白文本,意思是在顶部。