vthunder70
asked on
How do I use condition statements inside a gridView
Hi Expers,
I am developing a website for my rugby team. This website has a Schedule page, on this page I have a gridView that has columns for date, is home, opponent, score, game type
The "score" column is an TemplateField and inside the ItemTemplate I have 3 labes:
1) lblPointsInFavor (points for the team)
2) lblPointsAgainst(points against the team)
3) winLoss (no text, this is where I will like to show a W or L depending on the other two labels)
The problem is that I've tried everthing that I can think of, google, etc. . to find the value of those labels so that on the RowDataBound event I can make a comparison and then give the winLoss label the appropiate "W" or "L"
I keep getting this annoying error: Object reference not set to an instance of an object.
I will paste the code below.
Thanks so much!
I am developing a website for my rugby team. This website has a Schedule page, on this page I have a gridView that has columns for date, is home, opponent, score, game type
The "score" column is an TemplateField and inside the ItemTemplate I have 3 labes:
1) lblPointsInFavor (points for the team)
2) lblPointsAgainst(points against the team)
3) winLoss (no text, this is where I will like to show a W or L depending on the other two labels)
The problem is that I've tried everthing that I can think of, google, etc. . to find the value of those labels so that on the RowDataBound event I can make a comparison and then give the winLoss label the appropiate "W" or "L"
I keep getting this annoying error: Object reference not set to an instance of an object.
I will paste the code below.
Thanks so much!
aspx page (GridView code)
=============================
<asp:GridView ID="gvSchedule" runat="server" AutoGenerateColumns="False" AllowSorting="true" DataKeyNames="intGameTypeID"
Width="425px" BackColor="White" BorderColor="#CCCCCC" BorderStyle="None"
BorderWidth="1px" CellPadding="4" ForeColor="Black" GridLines="Horizontal">
<Columns>
<asp:BoundField DataField="dtmGameStart" HtmlEncode="False" DataFormatString="{0:MMM dd, yyyy - hh:mm tt}" HeaderText="Date" />
<asp:BoundField DataField="fIsHome" />
<asp:HyperLinkField HeaderText="Opponent" DataNavigateUrlFields="strOpponentURL" DataNavigateUrlFormatString="{0}" Target="_blank" DataTextField="strOpponentName" />
<asp:TemplateField HeaderText="Score">
<ItemTemplate>
<asp:Label ID="lblPointsInFavor" runat="server" Text='<%# Eval("intPointsFavor") %>' />
-
<asp:Label ID="lblPointsAgainst" runat="server" Text='<%# Eval("intPointsAgainst") %>' />
[<asp:Label ID="winLoss" runat="server" />]
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField Visible="true" DataField="strGameType" HeaderText="Game Type" />
</Columns>
<FooterStyle BackColor="#CCCC99" ForeColor="Black" />
<SelectedRowStyle BackColor="#CC3333" Font-Bold="True" ForeColor="White" />
<PagerStyle BackColor="White" ForeColor="Black" HorizontalAlign="Right" />
<HeaderStyle BackColor="#333333" Font-Bold="True" ForeColor="White" />
</asp:GridView>
=========================
aspx.vb code
==========================
If e.Row.RowType = DataControlRowType.DataRow Then
'Dim lblPointsInFavor As Label = DirectCast(e.Row.FindControl("lblPointsInFavor"), Label)
Dim lblPointsInFavor As Label = DirectCast(gvSchedule.FindControl("lblPointsInFavor"), Label)
Dim lblPointsAgainst As Label = DirectCast(gvSchedule.FindControl("lblPointsAgainst"), Label)
Dim winLoss As Label = DirectCast(gvSchedule.FindControl("winLoss"), Label)
Dim intFor As Integer = Convert.ToInt16(lblPointsInFavor.Text)
Dim intAgainst As Integer = Convert.ToInt16(lblPointsAgainst.Text)
If intFor > intAgainst Then
winLoss.Text = "W"
Else
winLoss.Text = "L"
End If
End If
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
Sorry Carl,
It is working! thanks. I had commented out my code on the aspx page =P d'oh!
Txs!
It is working! thanks. I had commented out my code on the aspx page =P d'oh!
Txs!
ASKER
I tried that but still gives me the same error =(