[ASP/VB.NET] Datagrid Sorten

Pagina: 1
Acties:

  • Mastakilla
  • Registratie: Februari 2001
  • Laatst online: 06-05 13:12
Ik zou graag mijn datagrdi kunnen sorten op zelf gekozen kolommen

na een beetje googlen vond ik al snel 10 tallen sites die dit duidelijk uitleggen...

Het blijkt ook alles behalve moeilijk te zijn

in datagrid AllowSorting="True" en OnSortCommand="DG_sort" instellen,
en de programmacode mijn DataSet aan een DataView kopellen en daar de Sort property instellen
vervolgens die DataView als source van de DataGrid gebruiken en ff DataBind() aanroepen, en het zou allemaal al moeten werken...

MAAR

dat doet het dus niet...

Na nog vele sites verder te googlen en vele keren mijn eigen code na te kijken, wordt er nog steeds NIETS gesorteerd...

Ik snap dan ook niet meer waar het aan kan liggen

hieronder volgt de code:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
Public Class afdelingeditor
    Inherits System.Web.UI.UserControl

#Region " Web Form Designer Generated Code "

    'This call is required by the Web Form Designer.
    <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
        Me.Connection = New System.Data.SqlClient.SqlConnection
        Me.DataAdapter = New System.Data.SqlClient.SqlDataAdapter
        Me.DeleteCommand = New System.Data.SqlClient.SqlCommand
        Me.InsertCommand = New System.Data.SqlClient.SqlCommand
        Me.SelectCommand = New System.Data.SqlClient.SqlCommand
        Me.UpdateCommand = New System.Data.SqlClient.SqlCommand
        Me.DataSet = New System.Data.DataSet
        Me.DataTable = New System.Data.DataTable
        Me.DataView = New System.Data.DataView
        CType(Me.DataSet, System.ComponentModel.ISupportInitialize).BeginInit()
        CType(Me.DataTable, System.ComponentModel.ISupportInitialize).BeginInit()
        CType(Me.DataView, System.ComponentModel.ISupportInitialize).BeginInit()
        '
        'Connection
        '
        Me.Connection.ConnectionString = "server=SHAREPOINT;Database=Intranet;uid=sa;pwd=VAB7vtb5$"
        '
        'DataAdapter
        '
        Me.DataAdapter.DeleteCommand = Me.DeleteCommand
        Me.DataAdapter.InsertCommand = Me.InsertCommand
        Me.DataAdapter.SelectCommand = Me.SelectCommand
        Me.DataAdapter.TableMappings.AddRange(New System.Data.Common.DataTableMapping() {New System.Data.Common.DataTableMapping("Table", "Afdelingen", New System.Data.Common.DataColumnMapping() {New System.Data.Common.DataColumnMapping("afdelingid", "afdelingid"), New System.Data.Common.DataColumnMapping("naam", "naam"), New System.Data.Common.DataColumnMapping("omschrijving", "omschrijving"), New System.Data.Common.DataColumnMapping("url", "url")})})
        Me.DataAdapter.UpdateCommand = Me.UpdateCommand
        '
        'DeleteCommand
        '
        Me.DeleteCommand.CommandText = "DELETE FROM Afdelingen WHERE (afdelingid = @Original_afdelingid) AND (naam = @Ori" & _
        "ginal_naam) AND (url = @Original_url)"
        Me.DeleteCommand.Connection = Me.Connection
        Me.DeleteCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Original_afdelingid", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0, Byte), "afdelingid", System.Data.DataRowVersion.Original, Nothing))
        Me.DeleteCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Original_naam", System.Data.SqlDbType.VarChar, 100, System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0, Byte), "naam", System.Data.DataRowVersion.Original, Nothing))
        Me.DeleteCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Original_url", System.Data.SqlDbType.VarChar, 100, System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0, Byte), "url", System.Data.DataRowVersion.Original, Nothing))
        '
        'InsertCommand
        '
        Me.InsertCommand.CommandText = "INSERT INTO Afdelingen(naam, omschrijving, url) VALUES (@naam, @omschrijving, @ur" & _
        "l); SELECT naam, omschrijving, url, afdelingid FROM Afdelingen WHERE (afdelingid" & _
        " = @@IDENTITY)"
        Me.InsertCommand.Connection = Me.Connection
        Me.InsertCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@naam", System.Data.SqlDbType.VarChar, 100, "naam"))
        Me.InsertCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@omschrijving", System.Data.SqlDbType.VarChar, 2147483647, "omschrijving"))
        Me.InsertCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@url", System.Data.SqlDbType.VarChar, 100, "url"))
        '
        'SelectCommand
        '
        Me.SelectCommand.CommandText = "SELECT afdelingid, naam, omschrijving, url FROM Afdelingen"
        '        Me.SelectCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@sortkol", System.Data.SqlDbType.VarChar, 20, "sortkol"))
        Me.SelectCommand.Connection = Me.Connection
        '
        'UpdateCommand
        '
        Me.UpdateCommand.CommandText = "UPDATE Afdelingen SET naam = @naam, omschrijving = @omschrijving, url = @url WHER" & _
        "E (afdelingid = @afdelingid); SELECT naam, omschrijving, url, afdelingid FROM Af" & _
        "delingen WHERE (afdelingid = @afdelingid)"
        Me.UpdateCommand.Connection = Me.Connection
        Me.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@afdelingid", System.Data.SqlDbType.Int, 4, "afdelingid"))
        Me.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@naam", System.Data.SqlDbType.VarChar, 100, "naam"))
        Me.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@omschrijving", System.Data.SqlDbType.VarChar, 2147483647, "omschrijving"))
        Me.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@url", System.Data.SqlDbType.VarChar, 100, "url"))
        '
        'DataSet
        '
        Me.DataSet.DataSetName = "NewDataSet"
        Me.DataSet.Locale = New System.Globalization.CultureInfo("nl-BE")
        Me.DataSet.Tables.AddRange(New System.Data.DataTable() {Me.DataTable})
        '
        'DataTable
        '
        Me.DataTable.TableName = "afdelingen"
        '
        'DataView
        '
        Me.DataView.Table = Me.DataTable
        CType(Me.DataSet, System.ComponentModel.ISupportInitialize).EndInit()
        CType(Me.DataTable, System.ComponentModel.ISupportInitialize).EndInit()
        CType(Me.DataView, System.ComponentModel.ISupportInitialize).EndInit()

    End Sub
    Protected WithEvents SelectCommand As System.Data.SqlClient.SqlCommand
    Protected WithEvents InsertCommand As System.Data.SqlClient.SqlCommand
    Protected WithEvents UpdateCommand As System.Data.SqlClient.SqlCommand
    Protected WithEvents DeleteCommand As System.Data.SqlClient.SqlCommand
    Protected WithEvents DataAdapter As System.Data.SqlClient.SqlDataAdapter
    Protected WithEvents Connection As System.Data.SqlClient.SqlConnection
    Protected WithEvents DataSet As System.Data.DataSet
    Protected WithEvents DataGrid As System.Web.UI.WebControls.DataGrid
    Protected WithEvents DataTable As System.Data.DataTable
    Protected WithEvents DataView As System.Data.DataView

    'NOTE: The following placeholder declaration is required by the Web Form Designer.
    'Do not delete or move it.
    Private designerPlaceholderDeclaration As System.Object

    Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init
        'CODEGEN: This method call is required by the Web Form Designer
        'Do not modify it using the code editor.
        InitializeComponent()
    End Sub

#End Region

    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        'Put user code to initialize the page here
        If Not IsPostBack Then
            BindGrid("naam")
        End If
    End Sub

    Public Sub DG_Edit(ByVal sender As System.Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs)
        DataGrid.EditItemIndex = e.Item.ItemIndex
        BindGrid("naam")
    End Sub
    Public Sub DG_Cancel(ByVal sender As System.Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs)
        DataGrid.EditItemIndex = -1
        BindGrid("naam")
    End Sub
    Public Sub DG_Update(ByVal sender As System.Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs)
        Dim tb_omschrijving As TextBox = e.Item.Cells(3).Controls(0)
        Dim tb_url As TextBox = e.Item.Cells(4).Controls(0)
        Dim afdelingid As Integer = CInt(e.Item.Cells(1).Text)
        Dim naam As String = e.Item.Cells(2).Text
        Dim omschrijving As String = tb_omschrijving.Text
        Dim url As String = tb_url.Text
        Me.UpdateCommand.Parameters("@afdelingid").Value() = afdelingid
        Me.UpdateCommand.Parameters("@naam").Value() = naam
        Me.UpdateCommand.Parameters("@omschrijving").Value() = omschrijving
        Me.UpdateCommand.Parameters("@url").Value() = url
        Connection.Open()
        Me.UpdateCommand.ExecuteNonQuery()
        Connection.Close()
        DataGrid.EditItemIndex = -1
        BindGrid("naam")
    End Sub
    Public Sub DG_sort(ByVal sender As System.Object, ByVal e As System.Web.UI.WebControls.DataGridSortCommandEventArgs)
        BindGrid(e.SortExpression)
    End Sub

    Sub BindGrid(ByVal SortField As String)
        '        Me.SelectCommand.Parameters("@sortkol").Value() = SortField
        DataAdapter.Fill(DataSet, "Afdelingen")
        Dim source As DataView = New DataView(DataSet.Tables("Afdelingen"))
        source.Sort = SortField & " ASC"
        DataGrid.DataSource = source
        DataGrid.DataBind()
    End Sub
End Class

en
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<%@ Control Language="vb" AutoEventWireup="false" Codebehind="afdelingeditor.ascx.vb" Inherits="afdelingeditor.afdelingeditor" TargetSchema="http://schemas.microsoft.com/intellisense/ie5" %>
<asp:DataGrid id=DataGrid runat="server" DataSource="<%# DataSet %>" AllowSorting="True" 
    BorderColor="#999999" BorderStyle="None" BorderWidth="1px" BackColor="White" CellPadding="3" 
    GridLines="Vertical" OnEditCommand="DG_Edit" OnCancelCommand="DG_Cancel" OnUpdateCommand="DG_Update" 
    AutoGenerateColumns="False" DataKeyField="afdelingid" OnSortCommand="DG_sort">
    <FooterStyle ForeColor="Black" BackColor="#CCCCCC"></FooterStyle>
    <SelectedItemStyle Font-Bold="True" ForeColor="White" BackColor="#008A8C"></SelectedItemStyle>
    <AlternatingItemStyle BackColor="Gainsboro"></AlternatingItemStyle>
    <ItemStyle ForeColor="Black" BackColor="#EEEEEE"></ItemStyle>
    <HeaderStyle Font-Bold="True" ForeColor="White" BackColor="#000084"></HeaderStyle>
    <Columns>
        <asp:EditCommandColumn ButtonType="LinkButton" UpdateText="Update" CancelText="Cancel" EditText="Edit"></asp:EditCommandColumn>
        <asp:BoundColumn HeaderText="Afdeling ID" SortExpression="afdelingid" ReadOnly="True" DataField="afdelingid" Visible="False"/>
        <asp:BoundColumn HeaderText="Naam" SortExpression="naam" ReadOnly="True" DataField="naam" Visible="True"/>
        <asp:BoundColumn HeaderText="Omschrijving" SortExpression="omschrijving" ReadOnly="false" DataField="omschrijving" Visible="True"/>
        <asp:BoundColumn HeaderText="Url" SortExpression="url" ReadOnly="false" DataField="url" Visible="True"/>
    </Columns>
    <PagerStyle HorizontalAlign="Center" ForeColor="Black" BackColor="#999999" Mode="NumericPages"></PagerStyle>
</asp:DataGrid>


Hopelijk ziet iemand mijn waarschijnlijk domme fout... aangezien dit eigelijk echt niet zo moeilijk is en op vele sites duidelijk beschreven wordt dat het zo zou moeten werken...

Bij voorbaat dank..

  • Mastakilla
  • Registratie: Februari 2001
  • Laatst online: 06-05 13:12
niemand?

dit lijkt me toch een vrij basic feature, niet?

Verwijderd

En als je het sorteren nou eens niet door de dataset laat afhandelen.
Dus de ORDER BY opnemen in de query

  • CaptBiele
  • Registratie: Juni 2002
  • Laatst online: 27-08-2021

CaptBiele

No Worries!

En het is voor de andere tweakers een stuk makkelijker debuggen als je niet meteen heel je code paste, maar alleen het relevante gedeelte. (Laat bijvoorbeeld het stuk van de "Web Form Designer Generated Code" weg.)

  • Remco
  • Registratie: Januari 2001
  • Laatst online: 13-05 08:20
Als je je dataset aan je grid koppelt, dan kan je grid toch gewoon sorteren ?
Althans, dat is in winforms wel zo.

The best thing about UDP jokes is that I don't care if you get them or not.


  • Mastakilla
  • Registratie: Februari 2001
  • Laatst online: 06-05 13:12
Verwijderd schreef op zondag 27 februari 2005 @ 15:52:
En als je het sorteren nou eens niet door de dataset laat afhandelen.
Dus de ORDER BY opnemen in de query
daar heb ik idd ook al aan gedacht,
maar dat idee liep vast toen ik ontdekte dat ik dan een kolomnaam als parameter van mijn sql statement moet meegeven, en ik vond geen geldig type (SqlDbType?) om een kolomnaam als parameter mee te geven
CaptBiele schreef op zondag 27 februari 2005 @ 17:44:
En het is voor de andere tweakers een stuk makkelijker debuggen als je niet meteen heel je code paste, maar alleen het relevante gedeelte. (Laat bijvoorbeeld het stuk van de "Web Form Designer Generated Code" weg.)
het was nog niet zo groot, en aangezien ik niet wist waar de fout zit dacht ik dat het het beste was ineens alles ff te plakken.. ik heb trouwens volop in die web form designer generated code zitten editen, dus misschien zit daar wel mijn fout?
Remc0 schreef op zondag 27 februari 2005 @ 18:07:
Als je je dataset aan je grid koppelt, dan kan je grid toch gewoon sorteren ?
Althans, dat is in winforms wel zo.
het zou idd zeer gemakkelijk moeten zijn, maar toch wil het niet werken... :/

  • Mastakilla
  • Registratie: Februari 2001
  • Laatst online: 06-05 13:12
heb het net op deze manier opgelost gekregen:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
Public Class afdelingeditor
    Inherits System.Web.UI.UserControl

#Region " Web Form Designer Generated Code "

    'This call is required by the Web Form Designer.
    <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
        Me.Connection = New System.Data.SqlClient.SqlConnection
        Me.DataAdapter = New System.Data.SqlClient.SqlDataAdapter
        Me.DeleteCommand = New System.Data.SqlClient.SqlCommand
        Me.InsertCommand = New System.Data.SqlClient.SqlCommand
        Me.SelectCommand = New System.Data.SqlClient.SqlCommand
        Me.UpdateCommand = New System.Data.SqlClient.SqlCommand
        Me.DataSet = New System.Data.DataSet
        Me.DataTable = New System.Data.DataTable
        Me.DataView = New System.Data.DataView
        CType(Me.DataSet, System.ComponentModel.ISupportInitialize).BeginInit()
        CType(Me.DataTable, System.ComponentModel.ISupportInitialize).BeginInit()
        CType(Me.DataView, System.ComponentModel.ISupportInitialize).BeginInit()
        '
        'Connection
        '
        Me.Connection.ConnectionString = "server=SHAREPOINT;Database=Intranet;uid=sa;pwd=VAB7vtb5$"
        '
        'DataAdapter
        '
        Me.DataAdapter.DeleteCommand = Me.DeleteCommand
        Me.DataAdapter.InsertCommand = Me.InsertCommand
        Me.DataAdapter.SelectCommand = Me.SelectCommand
        Me.DataAdapter.TableMappings.AddRange(New System.Data.Common.DataTableMapping() {New System.Data.Common.DataTableMapping("Table", "Afdelingen", New System.Data.Common.DataColumnMapping() {New System.Data.Common.DataColumnMapping("afdelingid", "afdelingid"), New System.Data.Common.DataColumnMapping("naam", "naam"), New System.Data.Common.DataColumnMapping("omschrijving", "omschrijving"), New System.Data.Common.DataColumnMapping("url", "url")})})
        Me.DataAdapter.UpdateCommand = Me.UpdateCommand
        '
        'DeleteCommand
        '
        Me.DeleteCommand.CommandText = "DELETE FROM Afdelingen WHERE (afdelingid = @Original_afdelingid) AND (naam = @Ori" & _
        "ginal_naam) AND (url = @Original_url)"
        Me.DeleteCommand.Connection = Me.Connection
        Me.DeleteCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Original_afdelingid", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0, Byte), "afdelingid", System.Data.DataRowVersion.Original, Nothing))
        Me.DeleteCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Original_naam", System.Data.SqlDbType.VarChar, 100, System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0, Byte), "naam", System.Data.DataRowVersion.Original, Nothing))
        Me.DeleteCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Original_url", System.Data.SqlDbType.VarChar, 100, System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0, Byte), "url", System.Data.DataRowVersion.Original, Nothing))
        '
        'InsertCommand
        '
        Me.InsertCommand.CommandText = "INSERT INTO Afdelingen(naam, omschrijving, url) VALUES (@naam, @omschrijving, @ur" & _
        "l); SELECT naam, omschrijving, url, afdelingid FROM Afdelingen WHERE (afdelingid" & _
        " = @@IDENTITY)"
        Me.InsertCommand.Connection = Me.Connection
        Me.InsertCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@naam", System.Data.SqlDbType.VarChar, 100, "naam"))
        Me.InsertCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@omschrijving", System.Data.SqlDbType.VarChar, 2147483647, "omschrijving"))
        Me.InsertCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@url", System.Data.SqlDbType.VarChar, 100, "url"))
        '
        'SelectCommand
        '
        Me.SelectCommand.Connection = Me.Connection
        '
        'UpdateCommand
        '
        Me.UpdateCommand.CommandText = "UPDATE Afdelingen SET naam = @naam, omschrijving = @omschrijving, url = @url WHER" & _
        "E (afdelingid = @afdelingid); SELECT naam, omschrijving, url, afdelingid FROM Af" & _
        "delingen WHERE (afdelingid = @afdelingid)"
        Me.UpdateCommand.Connection = Me.Connection
        Me.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@afdelingid", System.Data.SqlDbType.Int, 4, "afdelingid"))
        Me.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@naam", System.Data.SqlDbType.VarChar, 100, "naam"))
        Me.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@omschrijving", System.Data.SqlDbType.VarChar, 2147483647, "omschrijving"))
        Me.UpdateCommand.Parameters.Add(New System.Data.SqlClient.SqlParameter("@url", System.Data.SqlDbType.VarChar, 100, "url"))
        '
        'DataSet
        '
        Me.DataSet.DataSetName = "NewDataSet"
        Me.DataSet.Locale = New System.Globalization.CultureInfo("nl-BE")
        Me.DataSet.Tables.AddRange(New System.Data.DataTable() {Me.DataTable})
        '
        'DataTable
        '
        Me.DataTable.TableName = "afdelingen"
        '
        'DataView
        '
        Me.DataView.Table = Me.DataTable
        CType(Me.DataSet, System.ComponentModel.ISupportInitialize).EndInit()
        CType(Me.DataTable, System.ComponentModel.ISupportInitialize).EndInit()
        CType(Me.DataView, System.ComponentModel.ISupportInitialize).EndInit()

    End Sub
    Protected WithEvents SelectCommand As System.Data.SqlClient.SqlCommand
    Protected WithEvents InsertCommand As System.Data.SqlClient.SqlCommand
    Protected WithEvents UpdateCommand As System.Data.SqlClient.SqlCommand
    Protected WithEvents DeleteCommand As System.Data.SqlClient.SqlCommand
    Protected WithEvents DataAdapter As System.Data.SqlClient.SqlDataAdapter
    Protected WithEvents Connection As System.Data.SqlClient.SqlConnection
    Protected WithEvents DataSet As System.Data.DataSet
    Protected WithEvents DataGrid As System.Web.UI.WebControls.DataGrid
    Protected WithEvents DataTable As System.Data.DataTable
    Protected WithEvents DataView As System.Data.DataView

    'NOTE: The following placeholder declaration is required by the Web Form Designer.
    'Do not delete or move it.
    Private designerPlaceholderDeclaration As System.Object
    Private HalfSelectCommand As String

    Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Init
        'CODEGEN: This method call is required by the Web Form Designer
        'Do not modify it using the code editor.
        InitializeComponent()
        HalfSelectCommand = "SELECT afdelingid, naam, omschrijving, url FROM Afdelingen ORDER BY "
    End Sub

#End Region

    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        'Put user code to initialize the page here
        If Not IsPostBack Then
            BindGrid("naam")
        End If
    End Sub

    Public Sub DG_Edit(ByVal sender As System.Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs)
        DataGrid.EditItemIndex = e.Item.ItemIndex
        BindGrid("naam")
    End Sub
    Public Sub DG_Cancel(ByVal sender As System.Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs)
        DataGrid.EditItemIndex = -1
        BindGrid("naam")
    End Sub
    Public Sub DG_Update(ByVal sender As System.Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs)
        Dim tb_omschrijving As TextBox = e.Item.Cells(3).Controls(0)
        Dim tb_url As TextBox = e.Item.Cells(4).Controls(0)
        Dim afdelingid As Integer = CInt(e.Item.Cells(1).Text)
        Dim naam As String = e.Item.Cells(2).Text
        Dim omschrijving As String = tb_omschrijving.Text
        Dim url As String = tb_url.Text
        Me.UpdateCommand.Parameters("@afdelingid").Value() = afdelingid
        Me.UpdateCommand.Parameters("@naam").Value() = naam
        Me.UpdateCommand.Parameters("@omschrijving").Value() = omschrijving
        Me.UpdateCommand.Parameters("@url").Value() = url
        Connection.Open()
        Me.UpdateCommand.ExecuteNonQuery()
        Connection.Close()
        DataGrid.EditItemIndex = -1
        BindGrid("naam")
    End Sub
    Public Sub DG_sort(ByVal sender As System.Object, ByVal e As System.Web.UI.WebControls.DataGridSortCommandEventArgs)
        BindGrid(e.SortExpression)
    End Sub

    Sub BindGrid(ByVal SortField As String)
        Me.SelectCommand.CommandText = HalfSelectCommand & SortField
        DataAdapter.Fill(DataSet, "Afdelingen")
        DataGrid.DataSource = DataSet.Tables("Afdelingen").DefaultView
        DataGrid.DataBind()
    End Sub
End Class


ik denk dat het kwam omdat een sql parameter automatisch haakjes er rond zet ofzo

zo werkt het iig, als iemand nog een betere oplossing weet is die altijd welkom...

[ Voor 6% gewijzigd door Mastakilla op 28-02-2005 10:35 ]

Pagina: 1