Få tag i värde i datagrid
Nu tar jag det här igen: När jag går in i editeringsläge i min datagrid o försöker hämta ett värde från en av textboxarna som jag sedan använder för att uppdatera min xml-fil, blir det fel. Jag får tag i det gamla värdet o inte det värdet som jag har skrivit in. Jag tror att det har att göra med postback. Har jag rätt?
<code>
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Call dataset()
End Sub
function dataset()
Dim ds As New Data.DataSet()
Dim bildxml As New XmlDocument()
ds.ReadXml(Server.MapPath("xml/bilder.xml"))
Dim dv As New DataView(ds.Tables(0))
dv.Sort = "kategori, id ASC"
Dim newTable As DataTable = ds.Tables(0).Clone
Dim i As Integer
For i = 0 To dv.Count - 1
newTable.ImportRow(dv(i).Row)
Next
Dim newDataset As New DataSet()
newDataset.Tables.Add(newTable)
DataGrid1.DataSource = newTable
Dim editcolumn As New EditCommandColumn()
editcolumn.CancelText = "Cancel"
editcolumn.EditText = "Edit"
editcolumn.UpdateText = "update"
editcolumn.HeaderText = "Edit?"
DataGrid1.Columns.Add(editcolumn)
DataGrid1.AllowPaging = True
DataGrid1.PageSize = 5
DataGrid1.DataKeyField = "id"
DataGrid1.DataBind()
end function
Sub grid_update(ByVal sender As Object, ByVal e As DataGridCommandEventArgs) Handles DataGrid1.UpdateCommand
Dim bildindex As Integer
bildindex = CInt(e.Item.ItemIndex) 'Hämtar vilken rad som editeras
'--TEXTBOXAR---
Dim idbox As New TextBox()
idbox = DataGrid1.Items(bildindex).Cells(1).Controls(0) 'Hämtar ut värdet i textboxen
DataGrid1.DataBind()
end sub
</code>
Svara
Sv: Få tag i värde i datagrid
Prova att ändra till
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
if not page.ispostback then
Call dataset()
end if
End Sub
Svara
Sv:Få tag i värde i datagrid
Det är ju även en postback som sker när jag går in i editeringsmode så det går inte.
Svara
Sv: Få tag i värde i datagrid
Flyttade ut editeringskolumnen ur dataset(), då gick det lite bättre ;)
Svara