Toon posts:

[asp.net/vb.net]Datagrid deleten werkt niet.

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik probeer een record te wissen uit een bestaande dataset.

Ik ben uitgegaan van het volgende voorbeeld: http://www.developerfusion.com/show/3801/5/

De volgende code wordt wel aangeroepen:
Visual Basic .NET:
90
91
92
93
94
95
96
   Sub DataGrid1_Delete(ByVal source As Object, ByVal e As DataGridCommandEventArgs) _
    Handles DataGrid1.DeleteCommand

        Dim PKey As String = CStr(DataGrid1.DataKeys(e.Item.ItemIndex))


        Me.lblHeader.Text = PKey


Maar als ik op de wis knop klik, krijg ik de melding:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
[ArgumentOutOfRangeException: Index was out of range.  Must be non-negative and less than the size of the collection.
Parameter name: index]
   System.Collections.ArrayList.get_Item(Int32 index) +91
   System.Web.UI.WebControls.DataKeyCollection.get_Item(Int32 index) +10
   www.easycms.net.SystemMessages.DataGrid1_Delete(Object source, DataGridCommandEventArgs e) in \\webserver\PROJECT\www\admin\SystemMessages.aspx.vb:93
   System.Web.UI.WebControls.DataGrid.OnDeleteCommand(DataGridCommandEventArgs e) +110
   System.Web.UI.WebControls.DataGrid.OnBubbleEvent(Object source, EventArgs e) +589
   System.Web.UI.Control.RaiseBubbleEvent(Object source, EventArgs args) +26
   System.Web.UI.WebControls.DataGridItem.OnBubbleEvent(Object source, EventArgs e) +106
   System.Web.UI.Control.RaiseBubbleEvent(Object source, EventArgs args) +26
   System.Web.UI.WebControls.Button.OnCommand(CommandEventArgs e) +121
   System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +115
   System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +18
   System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +33
   System.Web.UI.Page.ProcessRequestMain() +1292

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 21:25

gorgi_19

Kruimeltjes zijn weer op :9

Toevallig nog je datagrid opnieuw gebind of viewstate disabled?

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

Topicstarter
De dataset wordt alleen opnieuw gebind als er (via een andere controll) een andere taal gekozen wordt.

Viewstate staat op standaardinstellingen (neem ik aan), want die heb ik nergens in het programma van waarde veranderd.

Verwijderd

Topicstarter
Het was eigenlijk heel simpel.
Ik was vergeten het volgende in te stellen:
Visual Basic .NET:
95
96
Dim Key as string ="fieldname"
DataGrid1.DataKeyField = Key


Eigenlijk wel beetje dom, maar ja, het is hier semi-verplicht om oplossing te geven, ook als je 'm zelf vind he :)

[ Voor 5% gewijzigd door Verwijderd op 05-04-2005 11:33 ]