UserGroup.cs 中有一方法:
public List<UserInfo> GetAllUserList()
{
DataSet dsGetUserList;
dsGetUserList = UserDBAgent.GetAllUserList();
int rowCount = dsGetUserList.Tables[0].Rows.Count;
if (rowCount > 0)
{
UserInfo ui = new UserInfo();
List<UserInfo> userList = new List<UserInfo>();
for (int i = 0; i < rowCount; i++)
{
ui.UserID = dsGetUserList.Tables[0].Rows[i]["UserID"].ToString();
ui.Name = dsGetUserList.Tables[0].Rows[i]["UserName"].ToString();
ui.GroupID = int.Parse(dsGetUserList.Tables[0].Rows[i]["GroupID"].ToString());
ui.State = int.Parse(dsGetUserList.Tables[0].Rows[i]["State"].ToString());
userList.Add(ui);
} return userList;
} else if (rowCount <= 0)
{
ugErrormsg = "当前没有用户!";
return null;
} else
{
ugErrormsg = UserDBAgent.ErrorMsg;
return null;
}
}winfrom 中绑定到Listbox中
UserGroup ug = new UserGroup();
lstUserList.DataSource = ug.GetAllUserList();
lstUserList.DisplayMember = "UserName";
lstUserList.ValueMember ="UserID";
显示了
1002
1002
1002(其中1002时数据库中UserID)我想让它显示UserName的。而且是张三,李四等
请问怎么解决?
public List<UserInfo> GetAllUserList()
{
DataSet dsGetUserList;
dsGetUserList = UserDBAgent.GetAllUserList();
int rowCount = dsGetUserList.Tables[0].Rows.Count;
if (rowCount > 0)
{
UserInfo ui = new UserInfo();
List<UserInfo> userList = new List<UserInfo>();
for (int i = 0; i < rowCount; i++)
{
ui.UserID = dsGetUserList.Tables[0].Rows[i]["UserID"].ToString();
ui.Name = dsGetUserList.Tables[0].Rows[i]["UserName"].ToString();
ui.GroupID = int.Parse(dsGetUserList.Tables[0].Rows[i]["GroupID"].ToString());
ui.State = int.Parse(dsGetUserList.Tables[0].Rows[i]["State"].ToString());
userList.Add(ui);
} return userList;
} else if (rowCount <= 0)
{
ugErrormsg = "当前没有用户!";
return null;
} else
{
ugErrormsg = UserDBAgent.ErrorMsg;
return null;
}
}winfrom 中绑定到Listbox中
UserGroup ug = new UserGroup();
lstUserList.DataSource = ug.GetAllUserList();
lstUserList.DisplayMember = "UserName";
lstUserList.ValueMember ="UserID";
显示了
1002
1002
1002(其中1002时数据库中UserID)我想让它显示UserName的。而且是张三,李四等
请问怎么解决?
if (rowCount > 0)
{
List<UserInfo> userList = new List<UserInfo>();
for (int i = 0; i < rowCount; i++)
{
UserInfo ui = new UserInfo();
ui.UserID = dsGetUserList.Tables[0].Rows[i]["UserID"].ToString();
ui.Name = dsGetUserList.Tables[0].Rows[i]["UserName"].ToString();
ui.GroupID = int.Parse(dsGetUserList.Tables[0].Rows[i]["GroupID"].ToString());
ui.State = int.Parse(dsGetUserList.Tables[0].Rows[i]["State"].ToString());
userList.Add(ui);
} return userList;
}
lstUserList.DisplayMember = "UserName";
lstUserList.ValueMember ="UserID";lstUserList.DataSource = ug.GetAllUserList();
换一下位置试试
lstUserList.ValueMember ="UserID";lstUserList.DataSource = ug.GetAllUserList();呵呵,参考楼上的DisplayMember 确实应该是Name
1.数据只是显示了最后一条记录。(1002)
2.数据显示的是UserID,而我想要显示的是UserName。
另外:还有我有两个Listbox1,Listbox2
1.在我把上面的数据绑定到了Listbox1之后,怎么把Listbox1选定的项添加到Listbox2中。
2.我要是想把Form1中的Listbox2的所有从Listbox1中添加的项,转到Form2中另外一个ListBox。怎么实现?谢谢。
“先指出一个错误,UserInfo ui = new UserInfo();这句应该加到for循环中去,否则就显示同一个用户的值了。”谢谢 dnnl_cn()
lstUserList.DisplayMember = "Name";
上面遇到的问题有两个:
1.数据只是显示了最后一条记录。(1002)
2.数据显示的是UserID,而我想要显示的是UserName。
两个问题已经解决。
谢谢大家。
1.在我把上面的数据绑定到了Listbox1之后,怎么把Listbox1选定的项添加到Listbox2中。
2.我要是想把Form1中的Listbox2的所有从Listbox1中添加的项,转到Form2中另外一个ListBox。怎么实现?谢谢。