24. januar 2006 - 14:26
Der er
18 kommentarer og 1 løsning
gridview rowcreated event
Hej jeg har 2 felter i min gridview som hver indeholder et tal. Forskellen på disse 2 tal vil jeg gerne vise i en 3. kollone. Jeg førsøger at gøre således: protected void gwMain_RowCreated(object sender, GridViewRowEventArgs e) { if (e.Row.RowType.ToString() == "DataRow") { Response.Write(e.Row.Cells[2].Text); } } men det kan ikke se teksten, jeg for en tom streng tilbage. Jeg bruger datareader til at hente mine data fra db SqlDataReader drMakeStartGrid = cmdMakeStartGrid.ExecuteReader(); gwMain.DataSource = drMakeStartGrid; gwMain.DataBind(); og min html ser således ud: <asp:TemplateField HeaderText="Førpris"> <ItemTemplate> <asp:Label ID="fpris" runat="server" Text='<%#Eval("beforeprice").ToString() + " kr."%>'></asp:Label> </ItemTemplate> <ControlStyle Width="100px" /> <ItemStyle HorizontalAlign="Right" /> <HeaderStyle HorizontalAlign="Left" /> </asp:TemplateField> <asp:TemplateField HeaderText="Nu"> <ItemTemplate> <asp:Label ID="nu" runat="server" Text='<%#Eval("price").ToString() + " kr."%>'></asp:Label> </ItemTemplate> <ControlStyle Width="100px" /> <HeaderStyle HorizontalAlign="Left" /> </asp:TemplateField> <asp:TemplateField HeaderText="Diff."> <HeaderStyle HorizontalAlign="Left" /> </asp:TemplateField>
Annonceindlæg tema
Cloud & AI
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
24. januar 2006 - 14:31
#1
tilføj endnu en kollone <asp:TemplateField> <ItemTemplate> <asp:Label ID="Label2" runat="server" Text='<%# Forskel((int)Eval("beforeprice"), (int)(Eval("price"))%>'></asp:Label> </ItemTemplate> </asp:TemplateField>
24. januar 2006 - 14:32
#2
i codebehind laver du en funktion public int Forskel(int a, int b) { return b-a; }
24. januar 2006 - 14:44
#3
jeg får en cast fejl. Kan det være fordi at den kalder metoden med headerteksten 1. gang?
24. januar 2006 - 14:46
#4
prøv lige at vis den kode du bruger. Forstår ikke rigtig hvad du mener
24. januar 2006 - 14:50
#5
jeg har blot indsat det du skrev. <asp:TemplateField> <ItemTemplate> <asp:Label ID="diff" runat="server" Text='<%# diff((int)Eval("beforeprice"), (int)(Eval("price")))%>'></asp:Label> </ItemTemplate> <ControlStyle Width="100px" /> <HeaderStyle HorizontalAlign="Left" /> </asp:TemplateField> og public int diff(int a, int b) { return b - a; }
24. januar 2006 - 14:52
#6
jeg har dog sat en ekstra slut ) da jeg ellers ikke kunne compilere korrekt
24. januar 2006 - 14:54
#7
prøv med og omdøb dit label <%# diff((int)Eval("beforeprice"),(int)Eval("price"))%>
24. januar 2006 - 14:54
#8
så det ikke hedder det samme som funktionen
24. januar 2006 - 14:56
#9
mente du <asp:Label ID="forskel" runat="server" Text='<%# diff((int)Eval("beforeprice"), (int)(Eval("price")))%>'></asp:Label> Det er det samme problem
24. januar 2006 - 14:58
#10
prøv med <asp:Label ID="forskel" runat="server" Text='<%# diff((int)Eval("beforeprice"),(int)Eval("price"))%>'></asp:Label>
24. januar 2006 - 14:59
#11
prøv at skriv hele fejlmeddelelsen hvis den kommer igen
24. januar 2006 - 15:00
#12
Specified cast is not valid.
24. januar 2006 - 15:05
#13
hmm hvad type er beforeprice og price ?
24. januar 2006 - 15:07
#14
er det komma tal ?
24. januar 2006 - 15:08
#15
ja dem har jeg sku lavet som float i db. Hvad skal jeg ændre int til
24. januar 2006 - 15:09
#16
prøv med en double altså public double diff(double a, double b) { return b - a; } <asp:Label ID="forskel" runat="server" Text='<%# diff((double)Eval("beforeprice"),(double)Eval("price"))%>'></asp:Label>
24. januar 2006 - 15:11
#17
tjekker lige ind lidt senere skal hjem nu.
24. januar 2006 - 15:12
#18
yes. tak endnu en gang. Kan du evt. kort skrive hvad Eval gør?
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.