Jestem pewna, że ktoś już o to pytał, ale nie szukam odpowiednich terminów lub czegoś, ponieważ po prostu nie mogę znaleźć tego, czego szukam.C# dodanie do obiektu listy z pola wyboru
Mam klasy pakiety:
class Packages
{
string PackageID {get; set;}
string PackageName { get; set; }
}
Mam listę pakietów w moim kontekście.
public class TransferJobContext
{
public string ImportFile;
public string WorkSheetName;
public DataSet TransferData;
public List<Packages> Packages = new List<Packages>();
}
Mam checkListBox na moim formularzu, który jest powiązany ze źródłem danych. Oto fragment kodu, gdzie mogę uzyskać wartości do 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();
}
Jak dodać nowy pakiet do listy, gdy element jest sprawdzany za pomocą elementu wartości i DisplayMember wybranych maszyn?
Edytuj: Ok może mam zamiar o tym całkowicie źle. Zamiast powiedzieć ci, co zrobiłem, powiem ci, co chciałbym zrobić.
Prezentuję mojego użytkownika z listą kontrolną, która ma listę nazw z polami wyboru obok nich. Mogą wybrać więcej niż jeden. Powoduje to, że mam jeden lub więcej identyfikatorów do wykorzystania w moim zapytaniu i nazwach do wykorzystania jako opis. Muszę przekazać z mojego kontekstu jedną lub wiele kombinacji id/nazwa mojego "Pakietu".
Jak najlepiej przechwycić kombinację ID/Nazwa dokonanych przez użytkownika wyborów i przekazać je do mojego kontekstu?
Winformy? Formularze internetowe? MVC? –
@TheSolution I oznaczyłem winFormy z powodu użycia CheckedListBox – CodingIntrigue
Tak, WinFormy, przepraszam, zapomniałem dodać, że - nowe w C# :) – Leslie