下拉框DropDownList1 绑定一个简单地区表t1t1 tcode tname
01 四川
02 云南
03 贵州DropDownList1绑定如下
this.DropDownList1.DataValueField = "tcode";
this.DropDownList1.DataTextField = "tname";我第一次写入数据库的时候 比如选择的是 云南 就把02保存到数据库当我要进行修改的时候 我先重新绑定DropDownList1然后让DropDownList1的SelectedValue="02";结果下拉框就出现了两个云南 晕死~~怎么让下拉框绑定的还是数据库中那三个数据但又让它显示的是我上次保存的那个值呢?
01 四川
02 云南
03 贵州DropDownList1绑定如下
this.DropDownList1.DataValueField = "tcode";
this.DropDownList1.DataTextField = "tname";我第一次写入数据库的时候 比如选择的是 云南 就把02保存到数据库当我要进行修改的时候 我先重新绑定DropDownList1然后让DropDownList1的SelectedValue="02";结果下拉框就出现了两个云南 晕死~~怎么让下拉框绑定的还是数据库中那三个数据但又让它显示的是我上次保存的那个值呢?
If Not IsPostBack Then
DropDownList1.Items.Clear()
重新查詢綁定
{
HardwareManagement.PublicDB.ClassHM.HardwareOperate getdl = new HardwareManagement.PublicDB.ClassHM.HardwareOperate();
if(HardwareManagement.PublicDB.ClassHM.pubDataSet.Tables["dl"] == null)
{
InceptModeTable.Getdl();
}
this.DropDownList1.DataSource = HardwareManagement.PublicDB.ClassHM.pubDataSet.Tables["dl"];
this.DropDownList1.DataValueField = "tcode";
this.DropDownList1.DataTextField = "tname";
this.DropDownList1.DataBind();
}保存进数据库后 重新获取下拉框的值 就是先保存进去的
private void Page_Load(object sender, System.EventArgs e)
{
if(!this.IsPostBack)
{
HardwareManagement.PublicDB.ClassHM.HardwareOperate getInceptupdate = new HardwareManagement.PublicDB.ClassHM.HardwareOperate();
DataTable UpdateIncept = getInceptupdate.GetUpdateIncept(); this.Binddl();
this.DropDownList1.SelectedItem.Text = UpdateIncept.Rows[0]["tname"].ToString();
}
}
{
实现绑定.
}
另外再写一个方法,实现选中项的查询,来刷新DropDownList
{
if(obj.selected=true)
在这里保存值
obj.selected=false;
}
if(!IsPostBack)
{
this.Bindd1();//实现绑定!
下面那行默认显示的用不上.
}
再写一个方法,在以后每次改变DropDownList选项的时候来调,最好是调存储过程!
alien54155415() 清空了 问题照旧 feitianyyj(飞雪连天) 清空了 问题照旧
2、其次使用FindByValue时需要判断是否找到了这个对象。
3、设置这个对象的Selected为true。检查绑定的数据是否和你在数据库中看到的一致,如果一致那么只需要FindByValue或者FindByText来找到你要显示的ListItem对象然后设置其Selected属性为true即可。