c# - Listbox items and selected Item -


i have form listbox , database-class. form calls method database returns string.

public listitem()     {         initializecomponent();         db = new database();         itemlist = new list<string>();         showallitems();     } 

now, showallitems-function calls db.getallitems() function returns list.

private void showallitems()     {         itemlist = db.getallitems();         lb_itemlist.datasource = itemlist;     } 

the list displays names of items in listbox. but, want return description of items. don't want description displayed in listbox. want displayed on label next listbox, shows description of selected item.

my main problem is, don't know how return multiple data without displaying data in listbox. want name in listbox , other data displayed next listbox on label dependent on selected item 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 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;      } 

you can create list contains class , items list whenever select item in listbox.

public class yourclass{     public int id { get; set; }     public string name { get; set; }     public decimal price { get; set; }     public string description { get; set; } }   public list<yourclass> 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 items", connection); sqlitedatareader reader = cmd.executereader();  if (reader.hasrows) {     while (reader.read())     {         //itemlist.add(reader.getstring(reader.getint64(rid)));         itemlist.add(new yourclass(){       id = reader.getstring(reader.getint64("id")),       name = reader.getstring(reader.getordinal("name")),       description = reader.getstring(reader.getordinal("desc")),       price = reader.getstring(reader.getordinal("price")) });                     } } connection.close(); return itemlist;  }  //in selectedindexchanged event private void lb_itemlist_selectedindexchanged(object sender, eventargs e) {     if (lb_itemlist.selectedindex > -1)     {           var item = lb_itemlist.selecteditem youclass;           if (item != null)           {                 lbldescription.text = item.description;                 lblprice.text = item.price           }     }  } 

Comments

Popular posts from this blog

ruby - Trying to change last to "x"s to 23 -

jquery - Clone last and append item to closest class -

c - Unrecognised emulation mode: elf_i386 on MinGW32 -