hmm...
if (orderschema.Order.Rows.Count > 0)
{
foreach(row in orderschema.Order.Rows){
//bind lista med fakturor
eller?
5 svar · 484 visningar · startad av annasmurf
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);
}
hmm...
if (orderschema.Order.Rows.Count > 0)
{
foreach(row in orderschema.Order.Rows){
//bind lista med fakturor
eller?
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
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)
kan du förklara lite mer om Ilist?
går inte binda så här
FormViewFaktura.DataSource = fakturor;
så mitt problem finns forfrande
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