Avatar billede mccannon Nybegynder
29. marts 2004 - 19:08 Der er 21 kommentarer og
1 løsning

Paging i Datagrid...funker ikke

Hejsa alle jeg har nedenstående kode..hvor jeg smider nogle data fra et data set ind i et datagrid, som jeg så vil lave paging på..men det virker ikke, for mig virker det som om at den slet ikke kommer ind i PageIndexChanged metoden. nogen som kan hjælpe ??

det skal siges at der kun er kodet i ren codebehind, i c#..

kode:
---------

private DataGrid DG = new DataGrid();

        private void Page_Load(object sender, System.EventArgs e)
        {
            if(!IsPostBack)
            {
                fillGrid();
            }

            // opretter et table
            Table lpTab = mystyle.newTable(new Table(),"inneradmintab","listPollTab");
            lpTab.Controls.Add(mystyle.addRow(new TableRow(),"trstyle","tdstyle","lptr",1,1));
            lpTab.Controls.Add(mystyle.addRow(new TableRow(),"trstyle","tdstyle","lptr2",1,1));
            lpTab.BorderWidth = 1;
            //tilføjer table til user control
            this.Controls.Add(lpTab);
            //tilføjer labels til specifikke td'er
            lpTab.FindControl("lptr-1").Controls.Add(mystyle.addLabel(new Label(),"lblcss","lpheader","Total list of polls"));
           
           
        }

        private void Page_PreRender(object sender, System.EventArgs e)
        {
            this.FindControl("lptr2-1").Controls.Add(DG);
        }
    private void fillGrid()
        {
            Databasen db = new Databasen();
            DG.DataSource = db.getPolls();
            DG.AllowPaging = true;
            DG.DataBind();
            DG.PageIndexChanged += new DataGridPageChangedEventHandler(DG_PageIndexChanged);
        }

        #region Web Form Designer generated code
        override protected void OnInit(EventArgs e)
        {
            //
            // CODEGEN: This call is required by the ASP.NET Web Form Designer.
            //
            InitializeComponent();
            base.OnInit(e);
        }
       
        /// <summary>
        ///        Required method for Designer support - do not modify
        ///        the contents of this method with the code editor.
        /// </summary>
        private void InitializeComponent()
        {
            this.Load += new System.EventHandler(this.Page_Load);
            this.PreRender += new System.EventHandler(this.Page_PreRender);
           
           

        }
        #endregion

        private void DG_PageIndexChanged(object source, DataGridPageChangedEventArgs e)
        {
            DG.CurrentPageIndex = e.NewPageIndex;
            DG.DataBind();
        }
    }
}
Avatar billede repsak Nybegynder
29. marts 2004 - 19:44 #1
det er nok også interessant at se din datagridkontrol fra aspx
Avatar billede mccannon Nybegynder
29. marts 2004 - 19:49 #2
fra aspx ?, mener du design ?
Avatar billede repsak Nybegynder
29. marts 2004 - 19:53 #3
ja, hvilke attributter har du koblet på dit datagrid? Ellers kan jeg ikke se hvorfor det ikke virker ;-)
Avatar billede mccannon Nybegynder
29. marts 2004 - 20:06 #4
jeg bruger ikke design..som sagt er det lavet i ren codebehind
Avatar billede repsak Nybegynder
29. marts 2004 - 20:09 #5
æhhh hvor kommer datagridet så ind i billedet?
Du er vel nødt til at have en view del, ellers er jeg meget nysgerig for at høre hvordan du ellers bærer dig ad...
Avatar billede mccannon Nybegynder
29. marts 2004 - 20:20 #6
du kan se hele koden ...det eneste som mangelr er public class listpolls og et klasse variable mystyle som er der jeg sætter nogle proberties på de forskellige controller..feks cssclass.

det virker så langt at når siden loader virker det, indtil jeg trykker på en af de der små pile ting
Avatar billede repsak Nybegynder
29. marts 2004 - 20:23 #7
er der ikke nogen aspxfil i dit projekt???
Avatar billede mccannon Nybegynder
29. marts 2004 - 20:30 #8
jo da..default.aspx

der hvor ovenstående kode er, er en usercontrol, altså ascx fil
Avatar billede repsak Nybegynder
29. marts 2004 - 20:32 #9
argh... aspx eller ascx er vel det samme i denne situation
Avatar billede repsak Nybegynder
29. marts 2004 - 20:33 #10
prøv
private DataGrid DG = new DataGrid();
->
private DataGrid DG;

DG bliver vist initialiseret automatisk
Avatar billede mccannon Nybegynder
29. marts 2004 - 20:58 #11
nope, det virker ikke, så siger den null reference
Avatar billede repsak Nybegynder
29. marts 2004 - 21:01 #12
hedder den også det samme i ascx?
Avatar billede mccannon Nybegynder
29. marts 2004 - 21:08 #13
hvad mener du...alt det kode du ser øverest ligger i ascx filen, altså i user controllen
Avatar billede repsak Nybegynder
29. marts 2004 - 21:10 #14
ja, men du vil jo ikke vise mig hvordan du erklærer datagridet i ascx?
Avatar billede mccannon Nybegynder
29. marts 2004 - 21:13 #15
private DataGrid DG = new DataGrid();

et stk datagrid
Avatar billede repsak Nybegynder
29. marts 2004 - 21:14 #16
det er jo ikke aspkode det er C#. Hvordan ser den kode ud som viser selve datagrid? <asp:datagrid...
Avatar billede mccannon Nybegynder
29. marts 2004 - 21:18 #17
jamen det er jo det jeg siger....der er ikke den slags kode, fordi jeg ikke bruger design til at drag and droppe, alt sammen er lavet i codebehind...det eneste ikke codebehind kode er:
<%@ Control Language="c#" AutoEventWireup="false" Codebehind="listpolls.ascx.cs" Inherits="PollSystem.listpolls" TargetSchema="http://schemas.microsoft.com/intellisense/ie5"%>
Avatar billede bechmann Nybegynder
29. marts 2004 - 23:46 #18
Du har ikke fået dit PageIndexChanged event hooked op. Du gør det kun hvis IsPostback == false, men du laver et nyt datagrid hver gang.
Avatar billede repsak Nybegynder
30. marts 2004 - 10:39 #19
bechmann-> det er fakrisk meget godt spottet :-) Jeg har ikke set denne konstruktion før
Avatar billede mccannon Nybegynder
30. marts 2004 - 14:07 #20
fik løst problemet, var noget med række følgen i den side hvor jeg inkludere de usercontrols
Avatar billede mccannon Nybegynder
31. marts 2004 - 18:19 #21
kunne da egentlig være man skulle lukke det her spørgsmål
Avatar billede burningice Nybegynder
12. april 2004 - 15:59 #22
repsak>> for fanden da ;)

mcannon>> ja, som allerede nævnt, så får du ikke koblet din eventhandler ordenligt på dit grid. Normalt vil man gøre det i OnInit-metoden for siden.
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