webForumDet fria alternativet

vill visa fler rader i en formview

.NET

5 svar · 484 visningar · startad av annasmurf

Medlem sedan mars 2006237 inlägg
Frågan#1

hej vet inte om denna kod nedan räcker men jag skulle vilja ha hjälp med att får fram flera rader från en tabell som heter faktura, just nu ger dennna koden bara första fakturan för ett visst bokningsnummer, men jag vet att det finns flera rader i tabellen faktura med detta speceiella bokningsnummer, så min fråga är hur gör jag för att få fram alla rader i en formviewFaktura?

 protected void FormViewOrder_DataBinding(object sender, EventArgs e)
    {
              Order order = new Order();
        OrderSchema orderschema = order.GetByBokningsnummer(int.Parse(Request.QueryString["Bokningsnr"].ToString()));
        if (orderschema.Order.Rows.Count > 0)
        {
            
            Faktura faktura = new Faktura();
            FakturaSchema fakturaSchema = faktura.GetByBokningsnummer(orderschema.Order[0].Bokningsnummer);
                
           
         
                   }
    }

 protected void FormViewFaktura_DataBinding(object sender, EventArgs e)
    {
        Faktura faktura = new Faktura();
        FakturaSchema fakturaSchema = faktura.GetByBokningsnummer(int.Parse(Request.QueryString["Bokningsnr"].ToString()));

     
    }

    protected void FormViewFaktura_DataBound(object sender, EventArgs e)
    {

         FakturaSchema.FakturaRow faktura = ((FakturaSchema.FakturaRow)((DataRowView)FormViewFaktura.DataItem).Row);

}
Medlem sedan nov. 20011 551 inlägg
#2

hmm...

if (orderschema.Order.Rows.Count > 0)
        {
foreach(row in orderschema.Order.Rows){
//bind lista med fakturor

eller?

Medlem sedan mars 2006237 inlägg
#3

kan du förklara lite mer
jag gjorde såhär

if (orderschema.Order.Rows.Count > 0)
        {
           

            foreach(OrderSchema.OrderRow faktow in orderschema.Order.Rows)
            {
            Faktura faktura = new Faktura();
            FakturaSchema fakturaSchema = faktura.GetByBokningsnummer(orderschema.Order[0].Bokningsnummer);
                           
           
            }

men sen så vet jag inte mer

Medlem sedan juni 20003 076 inlägg
#4

Eftersom flera fakturor är flertal och inte ental så borde du binda forviewn med lämpligtvis en IList<Faktura> och inte endast en Faktura

protected void FormViewOrder_DataBinding(object sender, EventArgs e)
{
        Order order = new Order();
        OrderSchema orderschema = order.GetByBokningsnummer(int.Parse(Request.QueryString["Bokningsnr"].ToString()));

        IList<Faktura> fakturor = fakturaService.GetFakturor(orderschema.Order[0].Bokningsnummer);
                
        FormViewFaktura.DataSource = fakturor;
        FormViewFaktura.DataBind();
 }

Sen var det 100 år sedan jag använde Microsofts kontroller så jag är osäker på hur formviewn binds men det borde gå typ enligt ovan! :)

(du bör heller inte blanda svenska och engelska)

Medlem sedan mars 2006237 inlägg
#5

kan du förklara lite mer om Ilist?
går inte binda så här
FormViewFaktura.DataSource = fakturor;
så mitt problem finns forfrande

Medlem sedan juni 20003 076 inlägg
#6

Jag är inte helt med på din kod, du har en fakturaklass och en fakturaSchema klass alltså. Och fakturaSchema innehåller ett antal fakturaRows.
Är fakturaSchema själva fakturan? Och en Order kan ha flera fakturor (fakturaSchema)?

protected void FormViewOrder_DataBinding(object sender, EventArgs e)
{
        Order order = new Order();
        OrderSchema orderschema = order.GetByBokningsnummer(int.Parse(Request.QueryString["Bokningsnr"].ToString()));

        Faktura faktura = new Faktura();

        IList<FakturaSchema> fakturor = faktura.GetByBokningsnummer(orderschema.Order[0].Bokningsnummer);
                
        FormViewFaktura.DataSource = fakturor;
        FormViewFaktura.DataBind();
 }

Sen behöver du någon form av repeater för att se respektive fakturarad i varje faktura.

Mer om IList:
http://www.google.se/#num=50&hl=sv&q=asp.net+IList+generics&meta=&aq=f&aqi=&aql=&oq=&gs_rfai=&fp=5d092964b23f7080

254 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)
118 ms — ändringar (db)