DropDownList 默认值的问题。
我需要DropDownList在打开编辑的时候现实当前的选项。算是默认值吧。
同时我又给DropDownList添加了数据库里应该有的值。我用的控件绑定的方法获得数据库里的值。
但是DropDownList没有现实默认值。
求解决办法啊。
DropDownList是在表格里的。
[解决办法]
DropDownList有个默认值属性啊 selected=true,就可以给指定的数据默认。
[解决办法]
记下默认值的序号,然后
DropDownList1.SelectedIndex = 序号;
[解决办法]
DropDownList控件是一个相对比较简单的数据绑定控件,它在客户端被解释成<select></select>这样的HTML标记,也就是只能有一个选项处于选中状态。
DropDownList控件常见属性:
AutoPostBack属性:这个属性的用法在讲述基本控件的时候已经讲过,是用来设置当下拉列表项发生变化时是否主动向服务器提交整个表单,默认是false,即不主动提交。如果设置为true,就可以编写它的SelectedIndexChanged事件处理代码进行相关处理(注意:如果此属性为false即使编写了SelectedIndexChanged事件处理代码也不会马上起作用)。
DataTextField属性:设置列表项的可见部分的文字。
DataValueField属性:设置列表项的值部分。
Items属性:获取控件的列表项的集合。
SelectedIndex属性:获取或设置 DropDownList 控件中的选定项的索引。
SelectedItem属性:获取列表控件中索引最小的选定项。
SelectedValue属性:取列表控件中选定项的值,或选择列表控件中包含指定值的项。
另外,DropDownList控件默认情况下是第一个选项处于选中状态,如果我们想在绑定数据之后让某个选项处于选中状态,可以利用它的Items属性,DropDownList控件的Items属性其实是一个ListItemCollection的实例,ListItemCollection类有两个重要方法:
public ListItem FindByText (string text):在选项集合中查找指定文字的选项。
public ListItem FindByValue (string value) :在选项集合中查找指定值的选项。
ListItem item=DropDownList1.Items.FindByValue(User.post.postId.ToString());
if(item!=null)
{
item.Selected=true;
}
<asp:DropDownList ID="DropDownList1" runat="server">
</asp:DropDownList>
protected void Page_Load(object sender, EventArgs e)
{
DropDownList1.DataSource = getDataTable();
DropDownList1.DataTextField = "Name";
DropDownList1.DataValueField = "ID";
DropDownList1.DataBind();
DropDownList1.SelectedValue = "2";
}
public DataTable getDataTable()
{
string[] name = { "张三", "李四", "王五" };
DataTable dt = new DataTable();
dt.Columns.Add("ID", Type.GetType("System.Int32"));
dt.Columns.Add("Name", Type.GetType("System.String"));
for (int i = 0; i < name.Length; i++)
{
DataRow row = dt.NewRow();
row[0] = i + 1;
row[1] = name[i];
dt.Rows.Add(row);
}
return dt;
}
}
[解决办法]
<asp:DropDownList ID="DropDownList1" runat="server">
<asp:ListItem Value="1" Selected="True"><%=从数据库读出的值 %></asp:ListItem>
<asp:ListItem Value="2"><%... %></asp:ListItem>
</asp:DropDownList>
DropDownList 是个集合,绑定时要绑定其子项
[解决办法]
this.ddlXZList.DataSource = XXGLOp.GetData("select * from 行政区划代码");
ListItem li = new ListItem("--请选择--", " ");
this.ddlXZList.Items.Add(li);
this.ddlXZList.DataTextField = "名称";
this.ddlXZList.DataValueField = "代码";
this.ddlXZList.DataBind();
[解决办法]
从已经绑定数据的DropDownList中找到符合value值的项,并使其选中
ListItem li = this.ddl_xly.Items.FindByText("value");
li.Selected=true;