Hi sat,
I have created a sample. now please take its reference.
HTML
<asp:GridView runat="server" ID="gvStudents">
</asp:GridView>
<br />
<asp:DataList runat="server" ID="dlStudentsDetails" OnItemDataBound="OnItemDataBound">
<ItemTemplate>
<table>
<tr>
<td>StudentId</td>
<td><asp:Label ID="lblID" Text='<%# Eval("StudentID") %>' runat="server" /></td>
</tr>
<tr>
<td>Phy</td>
<td><asp:Label ID="lblPhy" Text='<%# Eval("Phy") %>' runat="server" /></td>
</tr>
<tr>
<td>Chm</td>
<td><asp:Label ID="lblChm" Text='<%# Eval("Chm") %>' runat="server" /></td>
</tr>
<tr>
<td>Mth</td>
<td><asp:Label ID="lblMth" Text='<%# Eval("Mth") %>' runat="server" /></td>
</tr>
</table>
</ItemTemplate>
</asp:DataList>
Namespaces
C#
using System.Data;
using System.Drawing;
VB.Net
Imports System.Data
Imports System.Drawing
Code
C#
protected void Page_Load(object sender, EventArgs e)
{
if (!this.IsPostBack)
{
this.BindStudent();
this.BindDetails();
}
}
private void BindStudent()
{
DataTable dt = new DataTable();
dt.Columns.AddRange(new DataColumn[] { new DataColumn("StudentID"), new DataColumn("Attended"), new DataColumn("FeesPaid") });
dt.Rows.Add("0002", "Yes", "No");
dt.Rows.Add("0004", "No", "No");
this.gvStudents.DataSource = dt;
this.gvStudents.DataBind();
}
private void BindDetails()
{
DataTable dt = new DataTable();
dt.Columns.AddRange(new DataColumn[] { new DataColumn("StudentID"), new DataColumn("Phy"), new DataColumn("Chm"), new DataColumn("Mth") });
dt.Rows.Add("0001", "98", "95", "99");
dt.Rows.Add("0002", "95", "86", "94");
dt.Rows.Add("0003", "94", "97", "93");
dt.Rows.Add("0004", "95", "96", "95");
this.dlStudentsDetails.DataSource = dt;
this.dlStudentsDetails.DataBind();
}
protected void OnItemDataBound(object sender, DataListItemEventArgs e)
{
string id = ((e.Item as DataListItem).FindControl("lblID") as Label).Text;
foreach (GridViewRow row in gvStudents.Rows)
{
string sId = row.Cells[0].Text;
if (id == sId)
{
(e.Item as DataListItem).BackColor = Color.Gold;
break;
}
}
}
VB.Net
Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Load
If Not Me.IsPostBack Then
Me.BindStudent()
Me.BindDetails()
End If
End Sub
Private Sub BindStudent()
Dim dt As DataTable = New DataTable()
dt.Columns.AddRange(New DataColumn() {New DataColumn("StudentID"), New DataColumn("Attended"), New DataColumn("FeesPaid")})
dt.Rows.Add("0002", "Yes", "No")
dt.Rows.Add("0004", "No", "No")
Me.gvStudents.DataSource = dt
Me.gvStudents.DataBind()
End Sub
Private Sub BindDetails()
Dim dt As DataTable = New DataTable()
dt.Columns.AddRange(New DataColumn() {New DataColumn("StudentID"), New DataColumn("Phy"), New DataColumn("Chm"), New DataColumn("Mth")})
dt.Rows.Add("0001", "98", "95", "99")
dt.Rows.Add("0002", "95", "86", "94")
dt.Rows.Add("0003", "94", "97", "93")
dt.Rows.Add("0004", "95", "96", "95")
Me.dlStudentsDetails.DataSource = dt
Me.dlStudentsDetails.DataBind()
End Sub
Protected Sub OnItemDataBound(ByVal sender As Object, ByVal e As DataListItemEventArgs)
Dim id As String = (TryCast((TryCast(e.Item, DataListItem)).FindControl("lblID"), Label)).Text
For Each row As GridViewRow In gvStudents.Rows
Dim sId As String = row.Cells(0).Text
If id = sId Then
TryCast(e.Item, DataListItem).BackColor = Color.Gold
Exit For
End If
Next
End Sub
Screenshot
