c# - Dataset Loading a WPF Combobox -
dataset dataset = new dataset(); using (sqlconnection connection = new sqlconnection("server=server; database=database; user id=user; password=user")) { connection.open(); using (sqlcommand command = new sqlcommand("select distinct id table order id asc", connection)) { sqldataadapter reader = new sqldataadapter(command); reader.fill(dataset); idcombobox.datacontext = dataset; --> doesn't work idcombobox.itemsource = dataset.tables[0].columns[0].tostring() --> doesn't work idcombobox.itemsource = dataset.tables[0].rows[0].tostring() --> doesn't work idcombobox.itemsource = dataset.tables[0].rows --> doesn't work idcombobox.itemsource = dataset.tables[0].columns --> doesn't work don't work me pairing idcombobox.datacontext = dataset.tables[0].rows[0] or columns[0] } connection.close(); connection.dispose(); }
i needing fill combobox in wpf data datatable. keep finding examples use combobox.displaymember, combobox.source c# wpf application doesn't have these options. how can load wpf combobox data dataset or datatable?
one way doing before was
using (sqlconnection connection = new sqlconnection("server=server; database=database; user id=user; password=user")) { connection.open(); using (sqlcommand command = new sqlcommand("select distinct id table order id asc", connection)) { sqldatareader reader = command.executereader(); while (reader.read()) { (int = 0; < reader.fieldcount; i++) { idcombobox.items.add(reader[i].tostring()); } } } connection.close(); connection.dispose(); }
i know having looped combobox slow if have large amounts of data wanting dump in dataset reduce run time.
derived this example, you'll want work itemsource
, displaymemberpath
, , selectedvaluepath
properties:
idcombobox.itemssource = dataset.tables[0].defaultview; idcombobox.displaymemberpath = dataset.tables[0].columns["id"].tostring(); idcombobox.selectedvaluepath = dataset.tables[0].columns["id"].tostring();
and in xml
:
<combobox name="idcombobox" itemssource="{binding}"/>
Comments
Post a Comment