HAr lite brådis, men vad jag snabbt kan se är att din DataGrid instans ligger i ett helt annat scope än din event metod, på detta vis når de inte varandra, du får lägga ut din Datagrid globalt i classen. skapa en datagrid dynamiskt
jag behöver göra en datagrid dynamiskt då beroende på vad användaren väljer listas olika data från databasen.
om jag bygger datagriden dynamiskt efter en användare tryckt på t.ex en knapp fungerar det bra. men inte om jag ska använda mig av eventhandlers till datagriden. då måste jag tydligen skapa dom i page load(), problemet är att jag inte kan göra det då jag inte vet vad användaren vill se så jag vill inte skapa min datagrid direkt.
då tänkte jag, ok jag skapar en datagrid så här:
sub page load()
GetData2()
end sub
Sub GetData2()
dim mydatagrid as new datagrid()
myplaceholder.controls.add(mydatagrid)
mydatagrid.AutoGenerateColumns = False
Dim mycol0 As New BoundColumn()
mycol0.HeaderText = "Id"
'mycol0.DataField = "uflik_id"
mydatagrid.Columns.Add(mycol0)
Dim mycol1 As New BoundColumn()
mycol1.HeaderText = "UFlikNamn"
'mycol1.DataField = "uflik_namn"
mydatagrid.Columns.Add(mycol1)
Dim mycol2 as New editcommandcolumn
mycol2.edittext="edit1"
mycol2.updatetext="update1"
mycol2.canceltext="cancel1"
mydatagrid.Columns.Add(mycol2)
End Sub
När man sedan klickar på en knapp så bygger jag vidare på denna dvs så här:
Där jag öppnar databasen och lägger till egenskaperna datafield på en kolumn.
Sub GetData2Again(source As Object, e As System.Web.UI.WebControls.DataGridCommandEventArgs)
dim flik_id as integer = e.item.cells(0).text
dim objconn as new sqlconnection("bla bla")
dim objcom as new sqlcommand("select uflik_namn, uflik_id from uflikar where flik_id=" & flik_id, objconn)
dim objrs as sqldatareader
objconn.open()
objrs = objcom.executereader()
mydatagrid.mycol0.datafield = "uflik_id"
mydatagrid.mycol1.datafield = "uflik_namn"
mydatagrid.datasource = objrs
mydatagrid.databind()
objrs.close
objconn.close
End Sub
men det fungerar inte då den klagar på mydatagrid.mycol0.datafield = "uflik_id"
att den syntaxen är fel och visst det är den. men har någon nån koll på hur jag kan lösa detta problem, med annan syntax eller annat tänkande?
behöver hjälp asap!Sv: skapa en datagrid dynamiskt
ex:
DataGrid datagrid;
page_Load(...)
...
DO stuff
Skapa DataGriden
...
EventMetod(.....)
...
Do stuff
Använd datagriden
...
//Johan N