Hi All,
I am trying to set the rows colours in the parent grid view base on the data. For example in the coding, if the currency is USD then set the row to chocolate colour but instead my coding shows that its all in red even though there is currency USD data in the gridview.
However it does not seems to be able to be working correctly, heres my code behind,
I am trying to set the rows colours in the parent grid view base on the data. For example in the coding, if the currency is USD then set the row to chocolate colour but instead my coding shows that its all in red even though there is currency USD data in the gridview.
However it does not seems to be able to be working correctly, heres my code behind,
VB.NET:
Protected Sub gvUserInfo_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GridView1.RowDataBound e.Row.Cells(1).Visible = False
Dim currency As String = e.Row.Cells(3).Text
Dim con As New SqlConnection(ConfigurationManager.ConnectionStrings("HedgingTestConnectionString").ConnectionString)
If (e.Row.RowType = DataControlRowType.DataRow) Then
For Each cell As TableCell In e.Row.Cells
If currency = "USD" Then
cell.ForeColor = Color.Chocolate
Else
cell.BackColor = Color.Red
Label1.Text = e.Row.Cells(3).Text
End If
Next
con.Open()
Dim gv As GridView = DirectCast(e.Row.FindControl("gvChildGrid"), GridView)
Dim ref As Integer = Convert.ToInt32(e.Row.Cells(1).Text)
Dim cmd As New SqlCommand("select * from TT where Reference_NO=" & ref, con)
Dim da As New SqlDataAdapter(cmd)
Dim ds As New DataSet()
da.Fill(ds)
con.Close()
gv.DataSource = ds
gv.DataBind()
End If
End Sub
VB.NET:
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataKeyNames="Hedging_ID,CCY" HeaderStyle-Font-Size="Medium" HeaderStyle-BackColor="SeaGreen" OnRowDataBound="gvUserInfo_RowDataBound" width="100%"
HorizontalAlign="Center" RowStyle-HorizontalAlign="Center" GridLines="None">
<Columns>
<asp:TemplateField ItemStyle-Width="20px">
<ItemTemplate>
<a href="JavaScript:divexpandcollapse('div<%# Eval("ref_ID")%>');">
<img id="imgdiv<%# Eval("Hedging_ID")%>" border="0" src="plus.png" />
</a>
</ItemTemplate>
<ItemStyle Width="20px"></ItemStyle>
</asp:TemplateField>
<asp:BoundField DataField="ref_ID" HeaderText="ID" SortExpression="ref_ID" />
<asp:BoundField DataField="Bank_Name" HeaderText="Bank" SortExpression="Bank_Name" />
<asp:BoundField DataField="CCY" HeaderText="Currency" SortExpression="CCY" />
<asp:BoundField DataField="Ref_Date" DataFormatString="{0:d}" HeaderText="Contract Date" SortExpression="Ref_Date" />
<asp:BoundField DataField="Ref_End_Date" DataFormatString="{0:d}" HeaderText="Maturity Date" SortExpression="Ref_End_Date" />
<asp:TemplateField>
<ItemTemplate>
<tr>
<td colspan="100%">
<div id="div<%# Eval("Hedging_ID")%>" style="display: none; position: relative; left: 15px; overflow: auto">
<asp:GridView ID="gvChildGrid" runat="server" AutoGenerateColumns="false" BorderStyle="Double" BorderColor="#df5015" GridLines="None" Width="700px" HorizontalAlign="Center">
<HeaderStyle BackColor="#df5015" Font-Bold="true" ForeColor="White" />
<RowStyle BackColor="#E1E1E1" HorizontalAlign="Center" />
<AlternatingRowStyle BackColor="White" />
<HeaderStyle BackColor="#df5015" Font-Bold="true" ForeColor="White" />
<Columns>
<asp:BoundField DataField="Invoice_Number" HeaderText="Invoice Number" SortExpression="Invoice_Number" />
<asp:BoundField DataField="Payment_Date" DataFormatString="{0:d}" HeaderText="Payment Date" SortExpression="Payment_Date" />
<asp:BoundField DataField="Payment_Amount" DataFormatString="{0:c2}" HeaderText="Payment Amount" SortExpression="Payment_Amount" />
</Columns>
</asp:GridView>
</div>
</td>
</tr>
</ItemTemplate>
</asp:TemplateField>
</Columns>
<HeaderStyle BackColor="SeaGreen" Font-Size="Medium"></HeaderStyle>
<RowStyle HorizontalAlign="Center"></RowStyle>
</asp:GridView>