Avatar billede decrypto Nybegynder
29. marts 2005 - 16:59 Der er 11 kommentarer og
1 løsning

Hvordan præsenterer jeg data bedst?

Hej alle eksperter.

Jeg har fået lavet en ArrayListe indholdende data, jeg nu gerne vil pakke ud og præsenteret på en fed måde.

Det skal ikke bare præsenteres as it is, jeg vil gerne have at der er checkboxes ud for hver række, og måske en knap, der gør et eller andet udfra en nøgle(id).

Herunder kommer et eksempel på, hvordan jeg ved et klik bare skriver ArrayListe data ud, men hvordan får jeg det præsenteret som en liste med checkboxes og knapper udfor hver enkelt række?       

public void SubmitBtn_Click(Object sender, EventArgs e)
{
    string strSoegStreng = SoegStreng.Text;
    PageMsg.Text = "Produktliste";
    Product a = new Product();
    ArrayList ProductArray = a.GetProductSearchLst(strSoegStreng);

    //Pakke data ud ekempel
    PageMsg.Text += "<br>-----------------------------------<br>";
    foreach(ProductData p in ProductArray)
    {
        PageMsg.Text += p.ProductName.ToString()+"<-Product <br>";
        PageMsg.Text += p.ProductId.ToString()+"<- ProductId<br>";
        PageMsg.Text += p.ProductPrice.ToString()+"<- Pris<br>";
        PageMsg.Text += "-----------------------------------<br>";
    }

}
Avatar billede decrypto Nybegynder
29. marts 2005 - 17:01 #1
Jeg har prøvet med:

dg.DataSource = ProductArray;
dg.DataBind();

Men den præsenterer bare listen, hvordan kan jeg bedst kontrollere forløbet, og formning af header overskrifter?
Avatar billede badal Nybegynder
29. marts 2005 - 18:22 #2
Du kan benytte en datagrid til at præsentere data. Med en datagrid kan data præsenteres som en tabel, hvor du kan bestemme header, footer, antal rækker per side skifte farve på hveranden række osv.
Avatar billede decrypto Nybegynder
29. marts 2005 - 18:39 #3
dg = DataGrid

Men hvordan kan jeg fortælle at hver række skal have en checkbox el. en knap?
Avatar billede badal Nybegynder
29. marts 2005 - 19:38 #4
det kan du feks på følgende vis:

Du binder din data til din datagrid:

dg.DataSource = ProductArray;
dg.DataBind();

I din datagrid defineres en knap der vises ud hver række. Knappen hedder detaljer. I datagriden defineres en funktion: OnItemCommand="dg_ItemCommand"

<asp:DataGrid runat="server" id="dg" AutoGenerateColumns="False" OnItemCommand="dg_ItemCommand">

  <HeaderStyle HorizontalAlign="Center" Font-Bold="True"
    Font-Size="11pt" BackColor="Navy" ForeColor="White" />
  <Columns>
    <asp:ButtonColumn Text="Vis detaljer" ButtonType="PushButton"
        HeaderText="Vis detajler" CommandName="Detaljer" />

    <ItemTemplate>
    <%# DataBinder.Eval(Container.DataItem, "Efternavn") %>
    <%# DataBinder.Eval(Container.DataItem, "Alder") %>
  </ItemTemplate>

  </Columns>
</asp:DataGrid>

I din codebehind fil kan du via følgende itemcommand funktionen  for datagriden se at der er klikket på detaljer kanppen.

void dg_ItemCommand(object sender, DataGridCommandEventArgs e)
{
if (e.CommandName == "Detaljer")
{
  Response.Write("Du har klikket på detaljer knappen.")
}
}
Avatar billede badal Nybegynder
29. marts 2005 - 19:39 #5
protected void dg_ItemCommand skal funktionen defineres.
Avatar billede decrypto Nybegynder
29. marts 2005 - 20:20 #6
Hey navn betyder sky...er du pakistaner eller inder?
Avatar billede decrypto Nybegynder
29. marts 2005 - 20:26 #7
Jeg har kopieret dit datagrid eksempel ind, der er kommet røde bølger under <ItemTemplate>, hvor den siger at "The active schema does not support the element itemtemplate"

Hvad vil det sige?
Avatar billede badal Nybegynder
29. marts 2005 - 22:03 #8
det vil sige at jeg har overset noget :) itemtemplate skal står imellem <asp:templatecolumn> 

SÅ det skal selvfølig være:
<asp:templatecolumn>
                        <itemtemplate>
                            <%# DataBinder.Eval(Container.DataItem, "efternavn") %>
                            <%# DataBinder.Eval(Container.DataItem, "alder") %>
                        </itemtemplate>
                    </asp:templatecolumn>

Ovenstående eksempel vil virke hvis du laver en simpel tabel med 3 kollonner. fornavn, efternavn, alder indsætter data og binder til din datagrid.
Avatar billede badal Nybegynder
29. marts 2005 - 22:05 #9
badal betyder himmel eller sky :)
Avatar billede decrypto Nybegynder
30. marts 2005 - 16:01 #10
Yes, men kommer du fra Pakistan eller Indien? Eller er navnet bare coincidence.
Avatar billede decrypto Nybegynder
16. april 2005 - 21:08 #11
Hvad skal jeg inkludere (using) øverst oppe for at kunne undgå denne fejl:

'System.Array' does not contain a definition for 'GetBytes'
Avatar billede decrypto Nybegynder
11. maj 2006 - 15:22 #12
Jeg lukker denne
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