ID 列 (自動インクリメント) があり、主キーに設定されている SQL データベースにテーブルがあります。テーブルは、この ID とアカウント名で構成されます。
次に、このテーブルを読み取り、リストビューにデータを入力するコードが少しあります。問題は、アカウント名で注文すると、リストビューに重複がリストされることです。ID で注文すると、重複はありません。
SQL データベースの元のデータには重複するアカウント名が含まれていないため、リストビューで確認したいことは明らかです。
これは、データを取得するために使用しているLinqです...
public static IEnumerable<Client2> GetClientList()
{
return (IEnumerable<Client2>)from c in entity.Client2s
orderby c.AccountName
select c;
}
そして、これはリストビューを作成するために使用されているコードです...
// Clear the listview
listViewClient.Items.Clear();
// Get imported client list from database
foreach (Client2 c in SQLHandler.GetClientList())
{
ListViewItemClient lvi = new ListViewItemClient(c.AccountName, c);
listViewClient.Items.Add(lvi);
}
私が言うように、これをorderby c.IDに変更すると、期待どおりにデータが返されます。また、AccountName にインデックスを追加しようとしました。カスタム リストビュー アイテムのサブクラスを使用していますが、これは Client オブジェクトへの参照を格納するだけです。
どうすればこれを解決できますか?
ありがとう、