Avatar billede claushelth Nybegynder
03. februar 2004 - 14:58 Der er 6 kommentarer og
1 løsning

Hvordan DataGrid

Jeg har forsøgt at lave en asp.net side med et datagrid men jeg får en tom side uden indhold...hvad sker der? (eksemplet er en kopi fra sams Teach yourself c# webprogramming...)

Her er koder...den er ikke lang:

<%@ Page language="c#" Codebehind="DGEmpSalary.aspx.cs" AutoEventWireup="false" Inherits="dothelth.day5.DGEmpSalary" %>
<%@ Import NameSpace="System.Data" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
    <HEAD>
        <title>DGEmpSalary - Virker ikke</title>
        <script language="C#" runat="server">
    void Load_Page(Object Sender, EventArgs e)
    {
        DataTable dt = new DataTable();
        dt.Columns.Add(new DataColumn("Name",typeof(string)));
        dt.Columns.Add(new DataColumn("Salary",typeof(double)));
       
        Random randGen = new Random();
       
        for(int iRowIdx = 0 ; iRowIdx < 5 ;iRowIdx++)
        {
            DataRow dr;
            dr = dt.NewRow();
            dr["Name"] = "Employee " + iRowIdx.ToString();
            dr["Salary"] = Math.Round(randGen.NextDouble() * 100000,2);
            dt.Rows.Add(dr);
        }
        DataView dv = new DataView();
        MyDataGrid.DataSource = dv;
        MyDataGrid.DataBind();
    }
        </script>
    </HEAD>
    <body>
       
            <asp:DataGrid ID="MyDataGrid" Runat="server" BorderColor="black" BorderWidth="1" GridLines="Both"
                CellPadding="2" Font-Name="Arial" Font-Size="14" ItemStyle-BackColor="LightGray" AlternatingItemStyle-BackColor="Gray" />
       
    </body>
</HTML>

Jeg har et andet lign eksempel som er meget langt, og den viser heller ingenting...heller ingen fejl.
Claus
Avatar billede thor.ostergaard Nybegynder
03. februar 2004 - 15:06 #1
Det ser ud til at du kører med codebehind - din kode skal så også ligge der. Dvs. du skal kopiere
    void Load_Page(Object Sender, EventArgs e)
    {
        DataTable dt = new DataTable();
        dt.Columns.Add(new DataColumn("Name",typeof(string)));
        dt.Columns.Add(new DataColumn("Salary",typeof(double)));
       
        Random randGen = new Random();
       
        for(int iRowIdx = 0 ; iRowIdx < 5 ;iRowIdx++)
        {
            DataRow dr;
            dr = dt.NewRow();
            dr["Name"] = "Employee " + iRowIdx.ToString();
            dr["Salary"] = Math.Round(randGen.NextDouble() * 100000,2);
            dt.Rows.Add(dr);
        }
        DataView dv = new DataView();
        MyDataGrid.DataSource = dv;
        MyDataGrid.DataBind();
    }

til DGEmpSalary.aspx.cs
Kopilere og køre igen
Avatar billede claushelth Nybegynder
03. februar 2004 - 15:06 #2
Den skal vise en tabel med 5 personer i med navne(Employee 1-5) og deres løn(Random)
Avatar billede claushelth Nybegynder
03. februar 2004 - 15:10 #3
ja det har jeg også forsøgt men det giver mig samme resultat
Derfor prøvede jeg nu at fjerne:
<%@ Page language="c#" Codebehind="DGEmpSalary.aspx.cs" AutoEventWireup="false" Inherits="dothelth.day5.DGEmpSalary" %>
som henviser til codebehind, men det er stadig det samme.
Avatar billede claushelth Nybegynder
03. februar 2004 - 15:15 #4
Hvis jeg der imod smider Load_Page over i codebehind får jeg denne fejl:

DataGrid with id 'MyDataGrid' could not automatically generate any columns from the selected data source.

Her:
Line 39:             MyDataGrid.DataBind();
Avatar billede thor.ostergaard Nybegynder
03. februar 2004 - 15:20 #5
Du mangler at fortælle hvad du vil have dataview af:
DataView dv = new DataView(dt);
Og så mangler du formtag omkring dit datagrid:
    <form id="Form1" method="post" runat="server">
            <asp:DataGrid ID="MyDataGrid" Runat="server" BorderColor="black" BorderWidth="1" GridLines="Both"
                CellPadding="2" Font-Name="Arial" Font-Size="14" ItemStyle-BackColor="LightGray" AlternatingItemStyle-BackColor="Gray" />
        </form>
Avatar billede claushelth Nybegynder
03. februar 2004 - 15:24 #6
Ja det var selvfølgelig det med dataview, det fik denne til at vise noget, derimod havde jeg sat dette op i mit store tideligere eksempel uden at den viste noget...men lur mig om det ikke også har noget med den at gøre :-)

Ja jeg ved at jeg mangler form tags i aspx siden, men i bogens eksempel er de ikke med, og jeg forsøgte uden...virker faktisk også.

Takker for hjælpen :-)
Avatar billede thor.ostergaard Nybegynder
03. februar 2004 - 15:25 #7
Altid dejligt at kunne hjælpe :-)
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