Avatar billede travelnow Nybegynder
01. november 2006 - 11:51 Der er 7 kommentarer og
1 løsning

Paging formatering

Det her er måske et meget simpel spørgsmål, men jeg synes ikke lige jeg kan finde oplysninger angående.

Jeg har et datagrid med paging, og det virker fint nok, men hvordan kan jeg formatere 'frem' og 'tilbage' linkene, sådan at '<< tilbage' står i venstre side og 'frem >>' står i højre.

Jeg bruger ikke custompaging og det vil jeg også helst undgå, da det jo som sagt virker fint nu, bortset fra det med frem og tilbage formateringen.
Avatar billede nerosdk71 Nybegynder
06. november 2006 - 23:01 #1
Svaret er i C#, og jeg har lavet det jeg vil kalde en "snydeløsning". Den virker. Det er et eksempel som du kan bruge og selv arbejde videre på.

Der skal rettes i kodefilen og i aspx-filen. Jeg har lavet en side jeg kalder Default.aspx og et gridview som henter data fra en tabel der hedder tabel1.

Indenfor <ASP:GRIDVIEW> </ASP:GRIDVIEW>

skal du have følgende:

--------

<PagerTemplate>
  <table style="width: 100%">
      <tr>
        <td style="width: 205px; text-align: left">
            <asp:Button ID="Button1" runat="server" OnClick="Button1_Click"
            Text="Tilbage" /></td>
        <td style="text-align: right">
            <asp:Button ID="Button2" runat="server" OnClick="Button2_Click"
            Text="Frem " /></td>
      </tr>
  </table>
</PagerTemplate>

---------
Det som jeg har gjort er at lave mine egne frem og tilbageknapper. Jeg har valgt knapper, en jeg kunne lige så godt have valgt en dropdownliste med sidenumre etc.

Det som er vigtig er <PAGERTEMPLATE> alt hvad du laver derimellem afhænger af dit design.

Som du kan se så har de to knapper en OnClick attribut, og det er her henvisning til kodefilen kommer ind.

I kodefilen skal der være en funktion der matcher de to klik, henholdsvis en der kører frem og en der kører tilbage. Koden kan se sådan ud:

----------

    protected void Button1_Click(object sender, EventArgs e)
    {
        try
        {
            GridView1.PageIndex = GridView1.PageIndex - 1;
        }
        catch
        {
        }
    }

-----------

VIGTIGT!!! Her snyder jeg ved at bruge Try-catch, for hvis jeg bliver ved med at trække en fra pageindex, så risikere du at få en fejl. Det gør du ikke med try-catch.

Det gode ved denne løsning er at du er kommet et meget stort skridt videre med at customisere dine datagrids.

Bemærk!! Hvis du bruger visual Studio 2005, så kan du lave det meste fra designeren uden at skulle kode i aspx-filen.

Sig til hvis jeg kan hjælpe med mere.

Søren
Avatar billede travelnow Nybegynder
16. november 2006 - 23:59 #2
så har jeg endelig fået tid til at kigge på det her.

Og tak, det virker, der var selvfølgelig en del der skulle rettes til, bl.a. brugte jeg et datagrid og her kunne jeg ikke lige finde ud af hvordan jeg kunne bruge en <papertemplate>.
Så efter en del søgning og eksperimentering, lavede jeg det om til et gridview i stedet for og efter endnu mere søgning m.m., da alt foregår via dynamisk indsatte userkontroller, har jeg endelig fået det til at virke.

Så kom med et svar, så du kan få dine point.

Forresten, så behøver du ikke at bruge en try catch, det er bedre/pænere at gøre det således:
if (this.MyView.PageIndex <= this.MyView.PageCount)
  this.MyView.PageIndex += 1;
og
if (this.MyView.PageIndex > 0)
  this.MyView.PageIndex -= 1;
Avatar billede nerosdk71 Nybegynder
17. november 2006 - 07:19 #3
Hej Travelnow,
Super at det virker, og må indrømme at din kode ser lidt bedre ud end min :-)
Avatar billede travelnow Nybegynder
17. november 2006 - 08:27 #4
:-)

hvis du vil have point, skal du oprette et svar
Avatar billede flashit Nybegynder
17. november 2006 - 08:48 #5
Eller også kan man rettet teksten via PagerSettings i property for griddet.
Her er der feks et felt med navnet FirstPageText :-)

Bare lige en tanke
Avatar billede travelnow Nybegynder
17. november 2006 - 13:03 #6
hvorfor skal jeg rette i FirstPageText, hvilken del af spørgsmålet henviser du til?
Avatar billede flashit Nybegynder
17. november 2006 - 15:28 #7
sorry, det er mig som er stiv.....
Jeg læste det som om du ville have skrevt "<< tibage"
Avatar billede travelnow Nybegynder
16. januar 2008 - 08:58 #8
svar
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