i'm trying programmatically set data appears in datagridview. reason can't use wizard because data in my.settings.database-string
may vary, database structure points same.
public sub config_datagrid() dim connstring string = my.settings.database_string dim myconnection oledbconnection = new oledbconnection myconnection.connectionstring = connstring ' create data adapter dim da oledbdataadapter = new oledbdataadapter("select id, [name of person], [sap job number], [site name], [asset description], [spares supplier], [supplier contact name], [supplier contact phone number], [supplier contact email], [spares description], [part number], [quantity order], cost, [request date], [date ordered], [ordered by], [invoice received], [invoice paid], [method of payment], [date item received], [additional comments], [quote attatchment] spares", myconnection) ' create new dataset dim ds dataset = new dataset ' fill dataset da.fill(ds, "spares") main.datagridview1.datasource = ds.defaultviewmanager end sub
the code executes successfully, datagridview stays blank. ideas?
fill datatable
instead of dataset
:
dim dt datatable = new datatable ' fill dataset da.fill(dt)
or can use first datatable
in dataset:
main.datagridview1.datasource = ds.tables(0)
the datagridview
can show 1 datatable
@ time. dataset
can contain many datatables
.
addendum:
a third way set datamember
property. useful if dataset have multiple tables. still can show 1 datatable
@ time, though:
dim dst new dataset("dst") dim dtb0 new datatable("t0") dtb0.columns.add("t0c0") dtb0.columns.add("t0c1") dtb0.columns.add("t0c2") dtb0.columns.add("t0c3") dtb0.columns.add("t0c4") dtb0.rows.add("t0r0c0", "t0r0c1", "t0r0c2", "t0r0c3", "t0r0c4") dtb0.rows.add("t0r1c0", "t0r1c1", "t0r1c2", "t0r1c3", "t0r1c4") dtb0.rows.add("t0r2c0", "t0r2c1", "t0r2c2", "t0r2c3", "t0r2c4") dim dtb1 new datatable("t1") dtb1.columns.add("t1c0") dtb1.columns.add("t1c1") dtb1.columns.add("t1c2") dtb1.columns.add("t1c3") dtb1.columns.add("t1c4") dtb1.rows.add("t1r0c0", "t1r0c1", "t1r0c2", "t1r0c3", "t1r0c4") dtb1.rows.add("t1r1c0", "t1r1c1", "t1r1c2", "t1r1c3", "t1r1c4") dtb1.rows.add("t1r2c0", "t1r2c1", "t1r2c2", "t1r2c3", "t1r2c4") dst.tables.add(dtb0) dst.tables.add(dtb1) datagridview1.datasource = dst datagridview1.datamember = dst.tables(1).tablename