Toon posts:

[asp.NET, C#] GridView Bind object

Pagina: 1
Acties:

Verwijderd

Topicstarter
Dag mensen,

Ik heb het volgende.

Ik heb een array van OrderRegels.
Deze orderregels bestaan uit een Artikel (object) en een Aantal (string).

Wanneer ik deze bind aan het gridview krijg ik alleen de aantal te zien, wat ik ook wil is dat ik de artikelnaam kan laten zien. Dus bij de columns aangeef Artikel.ArtikelNaam

Is dit mogelijk?

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 12-02 17:47

gorgi_19

Kruimeltjes zijn weer op :9

Erhm... Ja? :?

Maar waar ligt het probleem? Zonder relevante code kunnen we weinig zeggen.

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 12-02 14:31

Creepy

Tactical Espionage Splatterer

Ja dit is mogelijk. Hoe? dat mag je in eerste instantie zelf uitzoeken. Het is hier geen helpdesk :)

Dus, wat heb je nu zelf al geprobeerd? Wat lukte daar niet mee? Kreeg je misschien foutmeldingen?

Wil je aub Programming Beleid eens doorkijken, en dan met name Programming Beleid - De Quickstart, dan weet je wat we van een topicstart verwachten. Je geeft nu veel te weinig informatie en dat weet je zelf ook wel.

[ Voor 14% gewijzigd door Creepy op 24-10-2006 15:32 ]

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


  • Mastermind
  • Registratie: Februari 2000
  • Laatst online: 17-01 10:57
Je kunt het beter in een DataTable gooien en die binden aan de GridView.

Maar goed, je zou template columns kunnen maken met een label daarin. Vervolgens geef je de label in de RowDataBound de waarde van Artikel.Artikelnaam.

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 12-02 17:47

gorgi_19

Kruimeltjes zijn weer op :9

Mastermind schreef op dinsdag 24 oktober 2006 @ 16:44:
Je kunt het beter in een DataTable gooien en die binden aan de GridView.

Maar goed, je zou template columns kunnen maken met een label daarin. Vervolgens geef je de label in de RowDataBound de waarde van Artikel.Artikelnaam.
:? Waarom moet je het in een DataTable gooien?

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • Mastermind
  • Registratie: Februari 2000
  • Laatst online: 17-01 10:57
Omdat je dan de DataItem van de gridrow kunt casten naar een DataRow, verder kun je de kolommen namen geven etc. Snap niet waarom je aan een array zou binden.

[ Voor 39% gewijzigd door Mastermind op 24-10-2006 18:01 ]


  • wboevink
  • Registratie: September 2004
  • Laatst online: 09-02 17:21
volgens mij ligt het aan Artikel (object) wat voor object is artikel?

  • pjonk
  • Registratie: November 2000
  • Laatst online: 29-12-2025
Dat komt natuurlijk omdat de GridView niet weet welke property van je artikel object je wilt tonen. Je zal ergens moeten aangeven in de GridView dat je de ArtikelNaam property wilt tonen.
Ik heb zelf weinig ervaring met de GridView maar wel met de klassieke DataGrid en daar kon je in je dit in je BoundColumn aangeven.

Even een sample opgesnort:
Object:
C#:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
public class Article
{
    private string _Number;
    private string _Name;
    
    public String Number
    {
        get { return _Number; }
        set { _Number = value; }
    }   

    public String Name
    {
        get { return _Name; }
        set { _Name = value; }
    }
}

ASPX:
HTML:
1
2
3
4
5
6
<asp:DataGrid id=DataGrid1 runat="server" autogeneratecolumns="false">
    <columns>
        <asp:BoundColumn HeaderText="Artikelnummer" DataField="Number" />
        <asp:Boundcolumn Headertext="Naam" datafield="Name" />
    </columns>
</asp:DataGrid>

Databinding:
C#:
1
2
3
4
ArticleCollection items = catalog.Articles.SelectAll();
DataGrid1.Columns.Add(col);
DataGrid1.DataSource = items;
DataGrid1.DataBind();

DataField was in dit geval de trigger. Je zal mijn code nog wel moeten converteren naar het GridView model, maar het gaat om het principe. En voor collecties heb je nu idd Generics, maar dit is nog allemaal ASP.NET 1.1

[ Voor 61% gewijzigd door pjonk op 24-10-2006 18:24 ]

It’s nice to be important but it’s more important to be nice


Verwijderd

Topicstarter
Mensen,

Ben toch gegaan voor de datatable deze leek mij het makkelijst. Nu krijg ik de lijst precies zoals ik wil.

Bedankt
Pagina: 1