我正在创建一个桌面聊天应用程序,用户可以在其中按姓名或电子邮件搜索其他用户。当我搜索其他用户时,他们的图像不是按顺序排列的。// 这是来自 Home Form 的代码 private void BtnSearch_Click(object sender, EventArgs e) { if (Friends.SelectedIndex == 0) { UsersClass.SearchContacts(listAllContacts, ImgListAllContacts, TxtSearch.Text.Trim()); } }// 这是来自 UserClass 的代码 public static void SearchContacts(ListView listview, ImageList imagelist, string searchkey) { DataTable dt = new DataTable(); listview.Items.Clear(); ListViewItem[] listviewitem = null; dt = DataBaseAccess.Retrive("select UID,FullName,DP from TKDBUsers WHERE ( FullName+' '+UserName ) Like '%" + searchkey + "%' AND UID != '" + LogInUser.UID + "'"); if (dt != null) { if (dt.Rows.Count > 0) { listviewitem = new ListViewItem[(dt.Rows.Count)]; int LC = 0; //List contacts foreach (DataRow item in dt.Rows) { Image img = DataBaseAccess.Base64ToImage(Convert.ToString(item["DP"])); imagelist.Images.Add(img); listviewitem[LC] = new ListViewItem(new string[] { Convert.ToString(item["UID"]) + " - " + Convert.ToString(item["FullName"]) }, LC); LC++; } } } if (listviewitem != null) { listview.Items.AddRange(listviewitem); }在此处输入图像描述在此处输入图像描述
2 回答

幕布斯6054654
TA贡献1876条经验 获得超7个赞
尝试将选择查询更改为(添加“ORDER BY UserName”):
dt = DataBaseAccess.Retrive("
SELECT UID, FullName, DP
FROM TKDBUsers
WHERE (FullName+' '+UserName ) LIKE '%" + searchkey + "%'
AND UID != '" + LogInUser.UID + "'
ORDER BY UserName");
- 2 回答
- 0 关注
- 110 浏览
添加回答
举报
0/150
提交
取消