У меня есть форма с ListBox и класс базы данных. Форма вызывает метод из базы данных, которая возвращает строку.Элементы списка и выбранный элемент
public listItem()
{
InitializeComponent();
Db = new Database();
itemList = new List<string>();
showAllItems();
}
Теперь showAllItems-функция вызывает Db.getAllitems() функция, которая возвращает список.
private void showAllItems()
{
itemList = Db.getAllItems();
lb_itemList.DataSource = itemList;
}
В списке отображаются имена всех элементов в списке. Но я также хочу вернуть описание элементов. Но я не хочу, чтобы описание отображалось в списке. Я хочу, чтобы он отображался на ярлыке рядом с listBox, который показывает описание выбранного элемента.
Моя основная проблема заключается в том, что я не знаю, как вернуть несколько данных, не отображая все данные в списке. Я просто хочу, чтобы имя в ListBox и другие данные, которые будут отображаться рядом с ListBox на этикетке зависит от выбранного пункта из ListBox
public List<string> getAllItems()
{
List<string> itemList = new List<string>();
SQLiteConnection connection = new SQLiteConnection("Data Source=HCI.db");
connection.Open();
SQLiteCommand cmd = new SQLiteCommand("SELECT rid, name, category, price, status, specific FROM items", connection);
SQLiteDataReader reader = cmd.ExecuteReader();
if (reader.HasRows)
{
while (reader.Read())
{
//itemList.Add(reader.GetString(reader.GetInt64(rid)));
itemList.Add(reader.GetString(reader.GetOrdinal("name")));
itemList.Add(reader.GetString(reader.GetOrdinal("category")));
itemList.Add(reader.GetString(reader.GetOrdinal("price")));
itemList.Add(reader.GetString(reader.GetOrdinal("status")));
itemList.Add(reader.GetString(reader.GetOrdinal("specific")));
}
}
connection.Close();
return itemList;
}
Итак, вы имеете в виду, я оставляю это так. Просто введите имя с помощью этого метода, а затем напишите другой метод, который получает идентификатор, зависящий от выбранного элемента в ListBox, и получает остальные данные? Если да, то как я могу получить определенные данные из списка? Предположим, что я сохраняю описание и цену в этом списке, как я могу особенно назвать только убыток или цену? –
loomie
Если это так, вы можете создать класс, содержащий всю необходимую информацию, и использовать его для создания списка вместо строки. Я отредактировал свой ответ выше, чтобы показать, как создать пользовательский класс, а затем привязать его непосредственно к вашему списку. – masterlopau