誰かが以前にこれを尋ねたと確信していますが、探しているものが見つからないように見えるので、適切な用語や何かを探していません.
私はクラスパッケージを持っています:
class Packages
{
string PackageID {get; set;}
string PackageName { get; set; }
}
コンテキスト内のパッケージのリストがあります。
public class TransferJobContext
{
public string ImportFile;
public string WorkSheetName;
public DataSet TransferData;
public List<Packages> Packages = new List<Packages>();
}
データソースにバインドされたフォームにcheckedListBoxがあります。これは、checkedListBox に値を取得するコードのセクションです。
using (var connection = my_DB.GetConnection())
{
try
{
connection.Open();
SqlDataReader rdr = null;
dt = new DataTable();
string CommandText = "SELECT ID, Name FROM TABLENAME WHERE UPPER(Import_File_Source) LIKE '%abc%' and STATUS = 1";
SqlCommand cmd = new System.Data.SqlClient.SqlCommand(CommandText, connection);
rdr = cmd.ExecuteReader();
dt.Load(rdr);
cbPackages.DataSource = dt;
cbPackages.ValueMember = "ID";
cbPackages.DisplayMember = "Name";
}
catch (Exception E)
{
MessageBox.Show(E.Message.ToString());
}
connection.Close();
}
選択したアイテムの value メンバーと displaymember を使用してアイテムがチェックされているときに、新しいパッケージをリストに追加するにはどうすればよいですか?
編集: わかりました多分私はこれについて完全に間違っています。私が何をしたかを話す代わりに、私が何をしたいかを話します。
横にチェックボックスが付いた名前のリストを持つcheckedlistboxをユーザーに提示しています。複数選択できます。これにより、クエリで使用する 1 つ以上の ID と、説明として使用する名前が得られます。「パッケージ」の 1 つまたは複数の ID/名前の組み合わせをコンテキストとともに渡す必要があります。
ユーザーが行った選択のID/名前の組み合わせをキャプチャして、それらを私のコンテキストに渡すのに最適なものは何ですか?