Avatar billede ameq Nybegynder
09. november 2004 - 10:15 Der er 18 kommentarer og
1 løsning

Hjælp til design/layout i asp.net

Hej
Jeg har siddet og kigget en del på asp.net nu (c#) og jeg bruger MS Visual Studio 2003 til at skrive det i.
Men der er en ting jeg ikke rigtig kan finde ud af, det er hvordan man skal fremvise data. Jeg har brugt et datagrid indtil videre men jeg synes ikke det er godt til alt ting så jeg tænkte på om der var anden måde at vise data på. Jeg har kigget på at lave en table ud fra en arraylist men jeg synes der er lidt gammeldags. Der må være en fed må at få data ud på.
Avatar billede powernodes Nybegynder
09. november 2004 - 10:23 #1
Avatar billede ameq Nybegynder
09. november 2004 - 10:35 #2
okey hvor?
Avatar billede basementjack Nybegynder
09. november 2004 - 10:42 #3
Hvis du mangler måder til data, så find dem på http://www.datagridgirl.com/
Avatar billede snepnet Nybegynder
09. november 2004 - 18:44 #4
hvad er det du ikke kan lide ved datagriddet ameq ?
(der er rimelige muligheder med at få det til at optræde anderledes).

der er desuden en datalist, og en repeater giver bedre muligheder for at sikre en særlig præsentation.

kan du ikke skrive lidt om hvad det er du ikke synes er fedt... og måskelig mere om hvad du vil frem til ?

mvh
Avatar billede ameq Nybegynder
09. november 2004 - 21:27 #5
det jeg ikke syns er så fedt ved datagrid er det linder excel for meget =)
Jeg ville godt havde noget i den her stil

<table width="500" border="1">
  <tr>
    <td colspan="2">{Overskrift}</td>
  </tr>
  <tr>
    <td rowspan="2">{tekst}</td>
    <td>{Dato}</td>
  </tr>
  <tr>
    <td>{Forfatter}</td>
  </tr>
</table>
Avatar billede snepnet Nybegynder
09. november 2004 - 21:35 #6
nej så er griddet ikke fedt... datalist og repeater skal du kigge på så.
mvh
Avatar billede ameq Nybegynder
10. november 2004 - 15:10 #7
hvordan løster man så lige det?
Avatar billede ameq Nybegynder
14. november 2004 - 13:35 #8
...
Avatar billede snepnet Nybegynder
14. november 2004 - 18:57 #9
hej ameq :o)
(har nogle irreterende problemer med mit webhotel i øjeblikket - så jeg får ikke mails fra eksperten.... så der kan være en del forsinkelse på :o)

prøv at leg lidt med et eksempel som dette :

// aspx-en
<%@ Page language="c#" Codebehind="ameq.aspx.cs" AutoEventWireup="false" Inherits="EXP2.ameq" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
    <HEAD>
        <title>ameq</title>
        <meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">
        <meta name="CODE_LANGUAGE" Content="C#">
        <meta name="vs_defaultClientScript" content="JavaScript">
        <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
    </HEAD>
    <body>
        <form id="Form1" method="post" runat="server">
            <asp:DataList id="DataList1" runat="server">
                <ItemTemplate>
                    <asp:Label id="Label1" runat="server">SomeString</asp:Label><BR>
                    <asp:TextBox id="TextBox1" Text='<%# DataBinder.Eval(Container.DataItem, "FldString") %>' runat="server"></asp:TextBox><BR>
                    <asp:Label id="Label2" runat="server">SomeInteger</asp:Label><BR>
                    <asp:TextBox id="TextBox2" Text='<%# DataBinder.Eval(Container.DataItem, "FldInt") %>' runat="server"></asp:TextBox>
                </ItemTemplate>
            </asp:DataList>
        </form>
    </body>
</HTML>


// og i page_load :
if(!IsPostBack)
{
  // du har sikkert noget at hente data med i forvejen
  Some dal = new ExpDataAccess();
  DataSet ds = new SomeDal().GetData();
  DataList1.DataSource = ds;
  DataList1.DataBind();
}

(du skal jo nok rette lidt til i templaten så der forsøges at hente værdier der reelt eksisterer i datagrundlaget).

mvh
Avatar billede ameq Nybegynder
15. november 2004 - 17:31 #10
oki ikke nice, og okey jeg kigger på det
Avatar billede ameq Nybegynder
15. november 2004 - 17:51 #11
okey det jeg har fået til at virke, men hva nu hvis jeg godt vil kunne opdater en "række" f.eks som man kan i et datagrid? men ja det der vil løst et af mine programmer...

for det jeg snakker om er http://devnet.ameq.dk/DataGrid_i_Datagrid/WebForm1.aspx , her ville jeg godt kunne være om felt1 og felt2 skal være sande eller falske også trykke opdater... men jeg syns ikke rigtig jeg kan får det til at virke samt jeg har skrivet en masse kode... er der en nem og "hurtig" vej til at løse dette problem?
Avatar billede snepnet Nybegynder
15. november 2004 - 19:11 #12
halløj igen :o)
den er ikke så slem - der er flere måder du kan gøre det på, men du kan lige se denne :

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemwebuiwebcontrolsdatalistclassupdatecommandtopic.asp

men du kan også lige få en udvidelse af det jeg sendte sidst :

<%@ Page language="c#" Codebehind="ameq.aspx.cs" AutoEventWireup="false" Inherits="EXP2.ameq" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
    <HEAD>
        <title>ameq</title>
        <meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">
        <meta name="CODE_LANGUAGE" Content="C#">
        <meta name="vs_defaultClientScript" content="JavaScript">
        <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
    </HEAD>
    <body>
        <form id="Form1" method="post" runat="server">
            <asp:DataList id="DataList1" runat="server">
                <ItemTemplate>
                    <P>
                        <asp:Label id="Label1" runat="server">SomeString</asp:Label><BR>
                        <asp:TextBox id=TextBox1 runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "FldString") %>'>
                        </asp:TextBox><BR>
                        <asp:Label id="Label2" runat="server">SomeInteger</asp:Label><BR>
                        <asp:TextBox id=TextBox2 runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "FldInt") %>'>
                        </asp:TextBox><BR>
                        <asp:LinkButton id="UpdateButton" runat="server" Text="Button" Width="154px" CommandName="Update"></asp:LinkButton></P>
                </ItemTemplate>
            </asp:DataList>
        </form>
    </body>
</HTML>


// og code-behind
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;

using ExpArticles.ExpData;

namespace EXP2
{
    /// <summary>
    /// Summary description for ameq.
    /// </summary>
    public class ameq : System.Web.UI.Page
    {
        protected System.Web.UI.WebControls.DataList DataList1;
   
        private void Page_Load(object sender, System.EventArgs e)
        {
            ExpDataAccess dal = new ExpDataAccess();
            DataSet ds = dal.GetSampleData(10);
            this.DataList1.DataSource = ds;
            this.DataList1.DataBind();
        }

        override protected void OnInit(EventArgs e)
        {
            InitializeComponent();
            base.OnInit(e);
        }
       
        private void InitializeComponent()
        {   
            this.DataList1.UpdateCommand += new System.Web.UI.WebControls.DataListCommandEventHandler(this.DataList1_UpdateCommand);
            this.Load += new System.EventHandler(this.Page_Load);
        }

        private void DataList1_UpdateCommand(object source, System.Web.UI.WebControls.DataListCommandEventArgs e)
        {
            string test = e.CommandName;
        }
    }
}

Det er på samme måde som datagriddet gør det, men du kan sådan set gøre det som du har lyst til.

mvh
Avatar billede ameq Nybegynder
20. november 2004 - 15:17 #13
hvordan tester jeg hvilket id eller post som jeg bruger, hvis nu jeg bruger en database? eller skal jeg lave et hidden felt til det?
Avatar billede ameq Nybegynder
20. november 2004 - 15:19 #14
og hvad med paging i et datalist?
Avatar billede snepnet Nybegynder
20. november 2004 - 23:47 #15
paging i datalist :
http://aspnet.4guysfromrolla.com/articles/081804-1.aspx

med hensyn til hvilket id - så kan du bare gøre på samme måde som du plejer at gøre med et datagrid.

hvis du har behov for at kende værdien ved tryk på en knap i rækken - kan du sætte id-et som CommandArgument på knappen.
ellers kan du bruge DataKeyField på selve datalisten.
(du sætter den til kolonnenavnet på den kolonne der holder dit unikke id... du behøver ikke vise kolonnen af den grund).

mvh
Avatar billede ameq Nybegynder
29. november 2004 - 09:15 #16
Hej nu har jeg fået arbejde en lille smule med datalist, men jeg har stadig et problem med at hive et id ud fra den liste jeg laver, det jeg skal havde lavet er at jeg vil enten havde et link <a href="enellerandenside.aspx?id="> og jeg skal vil havdet skrivet mit id i, men hvis jeg så skriver en databound i href taget så vil  Microsoft Visual Studio .NET 2003 ikke vises i design mode men kun html, den anden ting er at jeg godt ville havde en colum hvor idet stå i "hidden" også når jeg trykker på en knap så kan jeg komme til at bruge det i min code-binden
Avatar billede ameq Nybegynder
06. december 2004 - 17:20 #17
en som kommer med et svar?
Avatar billede ameq Nybegynder
01. april 2005 - 16:27 #18
en som kommer med et svar?
Avatar billede snepnet Nybegynder
01. april 2005 - 19:41 #19
du kan få et her :o)
mvh
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