webForumDet fria alternativet

DataGrid och tableceller

4 svar · 267 visningar · startad av DavidB

DavidBMedlem sedan jan. 20001 372 inlägg
#1

Tjena

Jag har en DataGrid vid namn tCart som har 3 kolumner enligt koden nedan:

BoundColumn bc = new BoundColumn();
bc.HeaderText = "Namn:";
bc.DataField = "namn";
tCart.Columns.Add(bc);

bc = new BoundColumn();
bc.HeaderText = "Antal:";
bc.DataField = "antal";
tCart.Columns.Add(bc);

bc = new BoundColumn();
bc.HeaderText = "Pris/Styck:";
bc.DataField = "pris";
tCart.Columns.Add(bc);

tCart.AutoGenerateColumns = false;
tCart.DataSource = Cart;
tCart.DataBind();

Jag har 2 problem:

1. Jag vill efter detta lägga till ytteligare en kolumn som skriver ut den
totala summan (antal*pris), det har jag gjort enligt nedan en den skriver
endast ut "Summa:" i headern och i cellerna under är det helt tomt, jag vill
ju som sagt ha summan utskriven i dessa celler.

CartCreated körs på OnItemCreated.

public void CartCreated(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e){
	if(e.Item.ItemType == ListItemType.Header){
		TableCell td = new TableCell();
		td.Text = "Summa:";
		e.Item.Cells.Add(td);
	} else if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem){
		TableCell td = new TableCell();
		[b]td.Text = (Convert.ToInt32(e.Item.Cells[1].Text) * Convert.ToInt32(e.Item.Cells[2].Text)).ToString();[/b]
		e.Item.Cells.Add(td);
	}
}

2. Sen undrar jag även om det går att lägga till ytteligare en tablerow under
varje existerande rad med endast en 2 tableceller, en som har colspan="3" och
en som är vanlig?

nån som ser någon lösning på nåt av problemen?

paraxeMedlem sedan apr. 2004298 inlägg
#2

Löst problemet/en?

/pär

NöffMedlem sedan nov. 2003569 inlägg
#3

2. Sen undrar jag även om det går att lägga till ytteligare en tablerow under
varje existerande rad med endast en 2 tableceller, en som har colspan="3" och
en som är vanlig?

är det nån hierarki du vill ha eller?

DavidBMedlem sedan jan. 20001 372 inlägg
#4

Nej, har tyvärr inte lyckats lösa problemen.

Jag vill ha att tabellen ser ut ungefär som jag ritat på bilden nedan som jag laddat upp.

Där det står DataGrid 1, DataGrid 2 osv skall jag senare skapa och infoga en DataGrid för varje rad.

tabell.jpg
paraxeMedlem sedan apr. 2004298 inlägg
#5

Jag hade nog skippat DataGridden och loopat igenom arrayen med "foreach".

Table table = new Table();

foreach(obj o in arrMinarr)
{
Tablerow tr = new Tablerow ();
Tablerow tr2 = new Tablerow ();
Tablecell td = new Tablecell();

td.InnerHtml = o.Pris.ToString();
tr.Controls.Add(td);
osv...
tr2.Attributes.Add("colsapn","3");
table.controls.add(tr2);
osv osv.

Då måste du ju kunna lägga på en "colspan"

Bara ett förslag... obs jag har definitivt inte kollat koden..

Ha de

/pär

124 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
121 ms — hämta tråd, inlägg och bilagor (db)