Hej! Tackar Joakim! Exempel på hur jag har gjort vid en deletedatagrid- få ut värde av ett fält
Jag vill kunna ta fram ett värde av ett fält i en datagrid för att sedan kunna radera en post. Har använt mig av row = Cint(e.Item.ItemIndex) för att sedan få ut värdet BID i BID = e.Item.FindControl("txtboendebokningsID"). Här får jag antingen problemet typblandninsfel eller Object reference not set to an instance of an object. Senaste felmeddelande får jag när jag försöker göra en sträng av det hela. Vore jätte tacksam om jag kunde få hjällp!
Bifogar koden:
Sub dgListaBokning_Delete(sender As Object, e As DataGridCommandEventArgs)
Dim strPersnr As String = txtpersnr.Text
Call Create_DataSet_Bokning(strPersnr)
dgListaBokning.DataSource=objDataSet
dgListaBokning.DataBind()
Dim row As Integer
row = Cint(e.Item.ItemIndex)
'objDataSet.Tables("bokning").Rows(row).Delete
Dim BID As textbox
Dim strBID as String
BID = e.Item.FindControl("txtboendebokningsID") 'hur får jag fram ID:et?
strBID = BID.Text
Dim strTabortBoendebokning as String
strTabortBoendebokning = "DELETE FROM boendebokning WHERE boendebokning.boendebokningsID = 'strBID';"
objDataAdapter = New OledbDataAdapter(strTabortBoendebokning, objConnection)
objDataSet = New DataSet()
objDataAdapter.Fill(objDataSet, "bokning")
dgListaBokning.DataSource = objDataSet
dgListaBokning.DataMember = "bokning"
dgListaBokning.DataBind()
Dim objBuilder As OledbCommandBuilder
objBuilder = New OledbCommandbuilder(objDataAdapter)
'objDataAdapter.UpdateCommand = objBuilder.GetUpdateCommand()
'objDataAdapter.InsertCommand = objBuilder.GetInsertCommand()
' objDataAdapter.DeleteCommand = objbuilder.GetDeleteCommand()
objDataAdapter.Update(objDataSet, "hyresgast")
dgListaBokning.EditItemIndex = -1
Call Create_DataSet_Bokning(strPersnr) (uppdatering av datasetet)
dgListaBokning.DataSource=objDataSet
dgListaBokning.DataBind()
End SubSv: datagrid- få ut värde av ett fält
<code>
Dim edValue As New System.Web.UI.WebControls.TextBox()
Dim szValue As String
edValue = CType(item.FindControl("text_control"), UI.WebControls.TextBox)
szValue = edValue.Text
</code>Sv: datagrid- få ut värde av ett fält
Ändrade min kod som så som du skrev. Får dock samma felmeddelande som tidigare nämligen "Object reference not set to an instance of an object. " Har letat och letat men hittar inte lösningen!
Vore jätte tacksam över ett svar!
/luskanSv: datagrid- få ut värde av ett fält
<code>
Dim keyValue As String = CStr(DataGrid1.DataKeys(E.Item.ItemIndex))
Dim myConnection As New SqlConnection(Session("strCon"))
Dim DeleteCommand As New SqlCommand("DELETE from Table where id='" & keyValue & "'", myConnection)
myConnection.Open()
DeleteCommand.ExecuteNonQuery()
myConnection.Close()
</code>