DropDownList的绑定

ishero 2003-07-24 12:01:41
我想使用DropDownList的Items属性先在其中加几项,其他的项从数据库中绑定,但我在Items属性中写了几项,从数据库中绑定时,写的那几项没有显示出来,谁能给我个办法?
谢!!
...全文
55 6 打赏 收藏 举报
写回复
6 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
panyee 2003-07-24
  • 打赏
  • 举报
回复
比如你要把DataTable绑定到selKindID这个下拉列表中, 你可以自定义列, 先往DataTable里填几行自定义的值, 再去绑定

DataRow dr = dsKinds.Tables[0].NewRow();
dr["KindID"] = "-100";
dr["KindName"] = "所有类别";
dsKinds.Tables[0].Rows.Add(dr);
selKindID.DataSource = dsKinds.Tables[0];
selKindID.DataTextField = "KindName";
selKindID.DataValueField = "KindID";
xrll 2003-07-24
  • 打赏
  • 举报
回复
给你完整的例子,已调试正常:
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.SqlClient" %>
<html>
<head>
<script language="C#" runat="server">
void Page_Load(Object Sender, EventArgs e) {
String selectCmd = "select * from Authors";
SqlConnection myConnection = new SqlConnection("server=(local)\\NetSDK;database=pubs;Integrated Security=SSPI");
SqlDataAdapter myCommand = new SqlDataAdapter(selectCmd, myConnection);
DataSet ds1 = new DataSet();
myCommand.Fill(ds1, "Authors");
for(int i=0;i<ds1.Tables["Authors"].Rows.Count;i++){
DataRow dr=ds1.Tables["Authors"].Rows[i];
DropDown1.Items.Add(new ListItem(dr["State"].ToString(), dr["au_id"].ToString()));
}
}
</script>
</head>
<body>
<h3><font face="Verdana">DropDownList Example</font></h3>
<form runat=server>
<asp:DropDownList id=DropDown1 runat="server">
<asp:ListItem>Item 1</asp:ListItem>
<asp:ListItem>Item 2</asp:ListItem>
<asp:ListItem>Item 3</asp:ListItem>
<asp:ListItem>Item 4</asp:ListItem>
<asp:ListItem>Item 5</asp:ListItem>
<asp:ListItem>Item 6</asp:ListItem>
</asp:DropDownList>
<p>
<asp:Label id=Label1 font-name="Verdana" font-size="10pt" runat="server">
Select a value from the list
</asp:Label>
</form>
</body>
</html>
xrll 2003-07-24
  • 打赏
  • 举报
回复
也可以后添加:
for(int i=0;i<ds1.Tables["Authors"].Rows.Count;i++){
DataRow dr=ds1.Tables["Authors"].Rows[i];
DropDown1.Items.Add(new ListItem(dr["State"].ToString(), dr["au_id"].ToString()));
}
buer 2003-07-24
  • 打赏
  • 举报
回复
不知道你是怎么写的!一般要写的几项写在前面(或是先写),后写也可以;
但要注意写了都少,写大第几个了;
简单明晰的写法:
DropDownList.item.Add("项名");
DropDownList.item[i].value("值");


OK521 2003-07-24
  • 打赏
  • 举报
回复
先绑定,然后再写另外的几项
selKindID.item.insert(0,newlistitem("text","value"))

这就样就行了,0代表添加到第一个,后面的就不用说了吧
cbspy 2003-07-24
  • 打赏
  • 举报
回复
先绑定,然后再写另外的几项。
发帖
.NET社区

6.1w+

社区成员

.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
帖子事件
创建了帖子
2003-07-24 12:01
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。