主题:关于ListBox的奇怪问题。
我在WinForm下编程,想要ListBox能实现WEB下的name和value效果,于是我新建了一个类:
class Item {
private String text = "";
private String value = "";
private String property = "";
public String Text {
get {
return text;
}
set {
text = value;
}
}
public String Value {
get {
return value;
}
set {
this.value = value;
}
}
public String Property {
get {
return property;
}
set {
this.property = value;
}
}
public override string ToString() {
return this.text;
}
然后在实现中:
if (ds.Tables["data"] != null) {
foreach (DataRow dr in ds.Tables["data"].Rows) {
Item obj = new Item();
obj.Text = (String)dr["rpt_name"];
obj.Value = (String)dr["rpt_code"];
obj.Property = (String)dr["date_type"];
useredList.Items.Add(obj);
}
}
useredList就是listbox,添加完以后,我第一次在用的时候,程序如下:
IEnumerator removeList = selectedList.Items.GetEnumerator();
if (removeList != null) {
removeList.Reset();
while (removeList.MoveNext()) {
useredList.Items.Remove(removeList.Current);
}
}
这样做是可以删除相应的项,可是当我再次使用的时候,却不能删除了,明明useredList.items里有Item这个对象,可是却不能再删除。请求大家帮忙,这是什么原因。
class Item {
private String text = "";
private String value = "";
private String property = "";
public String Text {
get {
return text;
}
set {
text = value;
}
}
public String Value {
get {
return value;
}
set {
this.value = value;
}
}
public String Property {
get {
return property;
}
set {
this.property = value;
}
}
public override string ToString() {
return this.text;
}
然后在实现中:
if (ds.Tables["data"] != null) {
foreach (DataRow dr in ds.Tables["data"].Rows) {
Item obj = new Item();
obj.Text = (String)dr["rpt_name"];
obj.Value = (String)dr["rpt_code"];
obj.Property = (String)dr["date_type"];
useredList.Items.Add(obj);
}
}
useredList就是listbox,添加完以后,我第一次在用的时候,程序如下:
IEnumerator removeList = selectedList.Items.GetEnumerator();
if (removeList != null) {
removeList.Reset();
while (removeList.MoveNext()) {
useredList.Items.Remove(removeList.Current);
}
}
这样做是可以删除相应的项,可是当我再次使用的时候,却不能删除了,明明useredList.items里有Item这个对象,可是却不能再删除。请求大家帮忙,这是什么原因。