Avatar billede henrik_40 Nybegynder
18. oktober 2007 - 14:39 Der er 3 kommentarer og
1 løsning

Sorting i Gridview virker ikke

Hej
Jeg kan ikke sortere mine to kolonner i flg. GridView:

<asp:GridView ID="GridVendors" runat="server" AllowSorting="True" BorderWidth="1px" AutoGenerateColumns="false" Width="505px">
<HeaderStyle CssClass="DataGridHeader" />
<Columns>
    <asp:BoundField DataField="VendorName" SortExpression="VendorName" HeaderText="Leverand&#248;r" />
        <asp:BoundField DataField="AccountID" SortExpression="VendorUserFullName" HeaderText="Konto" />
</Columns>
</asp:GridView>

Jeg får bl.a. fejlmedd.:
[HttpException (0x80004005): GridView 'GridVendors' udløste handlingen Sorting, der ikke blev håndteret.]
  System.Web.UI.WebControls.GridView.OnSorting(GridViewSortEventArgs e) +1471691
  System.Web.UI.WebControls.GridView.HandleSort(String sortExpression, SortDirection sortDirection) +76
  System.Web.UI.WebControls.GridView.HandleSort(String sortExpression) +70
  System.Web.UI.WebControls.GridView.HandleEvent(EventArgs e, Boolean causesValidation, String validationGroup) +552
  System.Web.UI.WebControls.GridView.RaisePostBackEvent(String eventArgument) +199
  System.Web.UI.WebControls.GridView.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +7
  System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +11
  System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +174
  System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +5102


Er her nogen som kan gennemskue hvad, der er galt?

/henrik
Avatar billede dr_chaos Nybegynder
19. oktober 2007 - 09:09 #1
Du mangler et onsorting event på dit gridview.
Se evt her:
http://forums.asp.net/p/956540/1177923.aspx
Avatar billede henrik_40 Nybegynder
19. oktober 2007 - 11:32 #2
Tak for linket. Som jeg forstår det er onsorting-eventen nødvendig fordi jeg ikke connecter til databasen via datasource-control, eller ved at bruge wizard / properties (er det rigtigt forstået?).

Jeg er ved at konvertere en .net 1.0 til 2.0 og her er der ingen problemer med nedenstående kode (en anden funktion, men stadig det samme)..:
Kode START
<asp:DataGrid ID="DataGridQueues" runat="server" CssClass="DataGrid" AllowSorting="True" BorderWidth="1px" AutoGenerateColumns="False" Width="505px">
    <HeaderStyle CssClass="DataGridHeader"></HeaderStyle>
    <Columns>
        <asp:BoundColumn DataField="QueueName" SortExpression="QueueName" HeaderText="K&#248;">
        </asp:BoundColumn>
            <asp:BoundColumn DataField="QueueUserFullName" SortExpression="QueueUserFullName" HeaderText="Bruger"></asp:BoundColumn>
    </Columns>
</asp:DataGrid></div>
Kode - SLUT

Det synes jeg er mystisk.

Vil forsøge mig med at lave en onsorting-event senere.
Avatar billede dr_chaos Nybegynder
19. oktober 2007 - 11:43 #3
Det er også et datagrid og ikke et gridview. Der er forskelle på de 2 kontroller.
Generelt kan man sige at når du ikke bruger datasources så skal du selv sørger for at håndterer diverse events. Typisk er det meget simpelt at gøre med 4 liniers kode.
Avatar billede henrik_40 Nybegynder
11. november 2007 - 16:30 #4
Undskyld den lange responstid.
Jeg har løst problemet med lidt kode. Sort-attributten gjorde udslaget:
dataView.Sort = "AccountID " + sorttype;

/henrik
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester