By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
448,967 Members | 1,581 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 448,967 IT Pros & Developers. It's quick & easy.

datagrid sorting does something wierd

P: n/a
I am trying to sort my second datagrid. And it works but only after i
click 2 times on the column header. The first time i click on the
header the data in the right order will add to the rows in the
datagrid. The second time i click on the header the top halve changes
in the right order too.

What i do wrong?

btw if i remove PlaatsVoetballers in the sub sorteergrid the first
click it does nothing the second time it sorts (no adding new rows)
Sorry for all the dutch in the code
my code

Private objDataset As DataSet = New System.Data.DataSet()
Private sConnectionString As String =
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" &
Server.MapPath("\WebApplication1\data\TestMegaDB.m db") & ";"
Protected WithEvents dgClubs As System.Web.UI.WebControls.DataGrid
Protected WithEvents dgVoetballers As
System.Web.UI.WebControls.DataGrid
Private objConnection As OleDbConnection = New
OleDbConnection(sConnectionString)
Protected WithEvents lblSorteer As System.Web.UI.WebControls.Label
Protected WithEvents lblCount As System.Web.UI.WebControls.Label
Protected WithEvents Label1 As System.Web.UI.WebControls.Label

Dim test As Integer

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 Page.IsPostBack Then
lblSorteer.Text = "VoetballerNaam"

objConnection.Open()
Dim sSQl As String = "Select * from Clubs where ClubNaam
<> 'Geen voetballer' order by ClubNaam"
Dim ObjCommand As OleDbCommand = New OleDbCommand(sSQl,
objConnection)

Dim objDatareader As OleDbDataReader
objDatareader =
ObjCommand.ExecuteReader(CommandBehavior.CloseConn ection)

dgClubs.DataSource = objDatareader
dgClubs.DataBind()
objDatareader.Close()
End If
PlaatsVoetballers()
End Sub

Private Sub PlaatsVoetballers()
Dim sSQl2 As String = "Select VoetballerNaam,
VoetballerPositie from Voetballers where ClubID = 1 order by " &
lblSorteer.Text
'Dim sSQl2 As String = "Select VoetballerNaam,
VoetballerPositie from Voetballers where ClubID = 1 order by
VoetballerNaam"

Dim objDataAdapter As New OleDbDataAdapter(sSQl2,
objConnection)

lblCount.Text = sSQl2
objDataAdapter.Fill(objDataset, "Voetballers")

dgVoetballers.DataSource = objDataset
dgVoetballers.DataMember = "Voetballers"
dgVoetballers.DataBind()
VerwerkVoetballersInGrid()

End Sub

Private Sub VerwerkVoetballersInGrid()
Dim iRecords As Integer
For iRecords = 0 To dgVoetballers.Items.Count - 1
Select Case dgVoetballers.Items(iRecords).Cells(1).Text
Case 1
dgVoetballers.Items(iRecords).Cells(1).Text =
"Keeper"
Case 2
dgVoetballers.Items(iRecords).Cells(1).Text =
"Verdediger"
Case 3
dgVoetballers.Items(iRecords).Cells(1).Text =
"Middenvelder"
Case 4
dgVoetballers.Items(iRecords).Cells(1).Text =
"Aanvaller"
Case 5
dgVoetballers.Items(iRecords).Cells(1).Text =
"Coach"
End Select
Next

End Sub

Sub clubclicked(ByVal sender As Object, ByVal e As
DataGridCommandEventArgs)
Dim buttontest As TableCell = e.Item.Cells(1)
Dim buttonstring As String = buttontest.Text

End Sub

Sub VerwijderCollums(ByVal s As Object, ByVal e As
DataGridItemEventArgs)
e.Item.Cells(1).Visible = False
e.Item.Cells(2).Visible = False

End Sub

Sub SorteerGrid(ByVal sender As Object, ByVal e As
DataGridSortCommandEventArgs)
lblSorteer.Text = e.SortExpression.ToString()
PlaatsVoetballers()

End Sub

<%@ Page Language="vb" AutoEventWireup="false"
Codebehind="SpelerOverzicht.aspx.vb"
Inherits="WebApplication1.WebForm1"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<title>WebForm1</title>
<meta content="Microsoft Visual Studio.NET 7.0" name="GENERATOR">
<meta content="Visual Basic 7.0" name="CODE_LANGUAGE">
<meta content="JavaScript" name="vs_defaultClientScript">
<meta content="http://schemas.microsoft.com/intellisense/ie5"
name="vs_targetSchema">
</HEAD>
<body bgColor="#ffffff" MS_POSITIONING="GridLayout">
<form id="Form1" method="post" runat="server">
<asp:datagrid id="dgClubs" style="Z-INDEX: 101; LEFT: 6px;
POSITION: absolute; TOP: 2px" runat="server" Height="116px"
Width="188px" BackColor="LimeGreen" BorderColor="Black"
BorderStyle="Solid" ShowHeader="False" OnItemCommand="clubclicked"
OnItemDataBound="VerwijderCollums" Font-Bold="True"
Font-Names="Century Gothic">
<Columns>
<asp:ButtonColumn DataTextField="ClubNaam">
<HeaderStyle Wrap="False"></HeaderStyle>
</asp:ButtonColumn>
</Columns>
</asp:datagrid><asp:label id="lblSorteer" style="Z-INDEX: 102;
LEFT: 24px; POSITION: absolute; TOP: 163px" runat="server"
Height="6px" Width="76px">17</asp:label><asp:datagrid
id="dgVoetballers" style="Z-INDEX: 103; LEFT: 205px; POSITION:
absolute; TOP: -3px" runat="server" Height="392px" Width="272px"
AllowSorting="True" OnSortCommand="SorteerGrid"></asp:datagrid><asp:label
id="lblCount" style="Z-INDEX: 104; LEFT: 506px; POSITION: absolute;
TOP: 63px" runat="server" Height="13px" Width="361px">0</asp:label>
<asp:Label id="Label1" style="Z-INDEX: 105; LEFT: 524px; POSITION:
absolute; TOP: 123px" runat="server" Height="24px"
Width="58px">Label</asp:Label></form>
</body>
</HTML>
Nov 18 '05 #1
Share this question for a faster answer!
Share on Google+

This discussion thread is closed

Replies have been disabled for this discussion.