Avatar billede hedemann Nybegynder
04. marts 2006 - 12:02 Der er 8 kommentarer og
1 løsning

Sortering på Gridview

Hej, jeg mangler lidt hjælp til sortering på Gridview. Jeg var af den opfattelse at det var meget "nemt" i nye version af VWD2005.

Har prøvet at aktiver "AllowSorting" på gridview'et, uden held..

Det skal virke under ASP 2.0 og jeg benytter VWD2005 samt VB.
Avatar billede hedemann Nybegynder
04. marts 2006 - 12:04 #1
Det kunne også være kanon med lidt hjælp til "Paging" funktionen
Avatar billede snepnet Nybegynder
04. marts 2006 - 14:06 #2
den pagingmodel der er understøttet lige ud af posen kan du få med:
AllowPaging="true"
PageSize="2"
på dit gridview.
AllowSorting og en kolonne som denne:
<asp:BoundField DataField="Country" HeaderText="Country" SortExpression="Country" />
er fint nok, hvis du f.ek.s benytter en sqldatasource, men det må du lige give en vink om.
... altså hvad du databinder op imod og hvordan.
mvh
Avatar billede hedemann Nybegynder
04. marts 2006 - 18:07 #3
det er lidt forskellig - men for det meste benytter jeg dataset og datatable, idet jeg manipuller dataene fra databasen. Dataene kommer fra en sql server.

        Me.GridView1.DataSource = ds.Tables(0)
        Me.GridView1.DataBind()
Avatar billede snepnet Nybegynder
07. marts 2006 - 01:05 #4
du kan få sortering med (uden kode) hvis du benytter en datasource-control... du kan godt få nogle eksempler på det, og ellers er der et indlæg om det på ms techtalks den 21. marts i Hellerup (hvis du kan vente så længe):
http://www.microsoft.com/danmark/msdn/events/techtalks.asp
mvh
Avatar billede hedemann Nybegynder
07. marts 2006 - 01:37 #5
Jeg vil gerne have nogle eksempler hvis det er muligt....idet jeg ikke kan vente til den 21. marts.
Avatar billede snepnet Nybegynder
07. marts 2006 - 09:56 #6
du kan få et her:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="GeneratedGridViewPage.aspx.cs" Inherits="GeneratedGridViewPage" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Untitled Page</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <strong>Eksempel på GridView form genereret af VS2005</strong><br />
        <br />
        <asp:GridView
            ID="GridView1"
            runat="server"
            AutoGenerateColumns="False"
            DataKeyNames="PersonId"
            DataSourceID="SqlDataSource1"
            EmptyDataText="There are no data records to display." AllowPaging="True" AllowSorting="True">
            <Columns>
                <asp:BoundField DataField="PersonId" HeaderText="PersonId" ReadOnly="True" SortExpression="PersonId" />
                <asp:BoundField DataField="Age" HeaderText="Age" SortExpression="Age" />
                <asp:BoundField DataField="Adresse" HeaderText="Adresse" SortExpression="Adresse" />
                <asp:BoundField DataField="City" HeaderText="City" SortExpression="City" />
                <asp:BoundField DataField="Country" HeaderText="Country" SortExpression="Country" />
                <asp:CheckBoxField DataField="IsActive" HeaderText="IsActive" SortExpression="IsActive" />
                <asp:TemplateField HeaderText="Name">
                    <ItemTemplate>
                        <asp:TextBox ID="txtName" runat="server" Text='<%# Bind("Name") %>'></asp:TextBox>
                    </ItemTemplate>
                </asp:TemplateField>
            </Columns>
        </asp:GridView>
        <asp:SqlDataSource
            ID="SqlDataSource1"
            runat="server"
            ConnectionString="<%$ ConnectionStrings:DemoDatabaseConnectionString1 %>"
            ProviderName="<%$ ConnectionStrings:DemoDatabaseConnectionString1.ProviderName %>"
            SelectCommand="SELECT [PersonId], [Name], [Age], [Adresse], [City], [Country], [IsActive] FROM [Persons]">
        </asp:SqlDataSource>   
    </div>
    </form>
</body>
</html>

du skal så have sådan en sektion som denne under appsettings i din web.config fil:
<connectionStrings>
    <add name="DemoDatabaseConnectionString1" connectionString="Data Source="..." providerName="System.Data.SqlClient" />   
</connectionStrings>

men du kan få vs til at generere hele dynen, ved at åbne din database via serverexplorer, og blot trække tabellen ind på din form.
udtrykket her:
<ItemTemplate>
  <asp:TextBox ID="txtName" runat="server" Text='<%# Bind("Name") %>'></asp:TextBox>
</ItemTemplate>

er bare for at du kan se hvordan du kan gøre det manuelt ... Bind giver dig mulighed for tovejsbinding - Eval giver dig envejs (læsning).

mvh
Avatar billede hedemann Nybegynder
12. juni 2007 - 13:41 #7
snepnet, du mangler vist at få point. Kan du ikke sende et svar.
Avatar billede snepnet Nybegynder
25. juni 2007 - 15:43 #8
Jo - det kan jeg da :o)
Mvh
Avatar billede hedemann Nybegynder
25. juni 2007 - 16:19 #9
Super, så er den ude af verden
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