Hi democloud,
Check this example. Now please take its reference and correct your code.
HTML
C#
<asp:GridView ID="gvStaffDetails" runat="server" AutoGenerateColumns="false" EmptyDataText="No Record Found">
<Columns>
<asp:TemplateField HeaderText="Staff Name">
<ItemTemplate>
<asp:Label ID="lblStaffName" runat="server" Text='<%# Eval("StaffName") %>' Style="display: none;" />
<asp:DropDownList ID="ddlStaff" runat="server" AutoPostBack="true" OnSelectedIndexChanged="ddlCountries_SelectedIndexChanged">
<asp:ListItem Value="Select" Text="--Select--"></asp:ListItem>
<asp:ListItem Value="A" Text="A"></asp:ListItem>
<asp:ListItem Value="B" Text="B"></asp:ListItem>
<asp:ListItem Value="C" Text="C"></asp:ListItem>
<asp:ListItem Value="D" Text="D"></asp:ListItem>
</asp:DropDownList>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Date">
<ItemTemplate>
<asp:Label Text='<%# Eval("date" ,"{0:dd/MM/yyyy}" )%>' runat="server" ID="lblDate" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Time">
<ItemTemplate>
<asp:Label Text='<%# Eval("From_Time").ToString() == "00:00:00.0000000" ? "" : Eval("from_time") %>'
runat="server" ID="lblFromTime" />
<asp:Label Text='<%# Eval("To_Time").ToString() == "00:00:00.0000000" ? "" : Eval("to_time") %>'
runat="server" ID="lblToTime" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
<br />
Date : <asp:Label ID="lblDate" runat="server" />
<br />
Time : <asp:Label ID="lblTime" runat="server" />
VB.Net
<asp:GridView ID="gvStaffDetails" runat="server" AutoGenerateColumns="false" EmptyDataText="No Record Found">
<Columns>
<asp:TemplateField HeaderText="Staff Name">
<ItemTemplate>
<asp:Label ID="lblStaffName" runat="server" Text='<%# Eval("StaffName") %>' Style="display: none;" />
<asp:DropDownList runat="server" AutoPostBack="true" OnSelectedIndexChanged="ddlCountries_SelectedIndexChanged">
<asp:ListItem Value="Select" Text="--Select--"></asp:ListItem>
<asp:ListItem Value="A" Text="A"></asp:ListItem>
<asp:ListItem Value="B" Text="B"></asp:ListItem>
<asp:ListItem Value="C" Text="C"></asp:ListItem>
<asp:ListItem Value="D" Text="D"></asp:ListItem>
</asp:DropDownList>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Date">
<ItemTemplate>
<asp:Label Text='<%# Eval("date" ,"{0:dd/MM/yyyy}" )%>' runat="server" ID="lblDate" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Time">
<ItemTemplate>
<asp:Label Text='<%# If(Eval("From_Time").ToString() = "00:00:00.0000000" , "" , Eval("from_time")) %>'
runat="server" ID="lblFromTime" />
<asp:Label Text='<%# If(Eval("To_Time").ToString() = "00:00:00.0000000" , "" , Eval("to_time")) %>'
runat="server" ID="lblToTime" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
<br />
Date : <asp:Label ID="lblDate" runat="server" />
<br />
Time : <asp:Label ID="lblTime" runat="server" />
Code
C#
protected void Page_Load(object sender, EventArgs e)
{
if (!this.Page.IsPostBack)
{
System.Data.DataTable dt = new System.Data.DataTable();
dt.Columns.Add("StaffName", typeof(string));
dt.Columns.Add("Date", typeof(DateTime));
dt.Columns.Add("From_Time", typeof(string));
dt.Columns.Add("To_Time", typeof(string));
dt.Rows.Add("A", "04/11/2019", "6:00AM", "8:00PM");
dt.Rows.Add("B", "04/11/2019", "7:00AM", "9:00PM");
dt.Rows.Add("C", "04/11/2019", "8:00AM", "10:00PM");
dt.Rows.Add("D", "04/11/2019", "9:00AM", "11:00PM");
this.gvStaffDetails.DataSource = dt;
this.gvStaffDetails.DataBind();
}
}
protected void ddlCountries_SelectedIndexChanged(object sender, EventArgs e)
{
DropDownList dropDownList = sender as DropDownList;
GridViewRow row = dropDownList.NamingContainer as GridViewRow;
Label date = (Label)row.FindControl("lblDate");
Label fromTime = (Label)row.FindControl("lblFromTime");
Label toTime = (Label)row.FindControl("lblToTime");
lblDate.Text = date.Text;
lblTime.Text = fromTime.Text + " " + toTime.Text;
}
VB.Net
Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Load
If Not Me.Page.IsPostBack Then
Dim dt As System.Data.DataTable = New System.Data.DataTable()
dt.Columns.Add("StaffName", GetType(String))
dt.Columns.Add("Date", GetType(DateTime))
dt.Columns.Add("From_Time", GetType(String))
dt.Columns.Add("To_Time", GetType(String))
dt.Rows.Add("A", "04/11/2019", "6:00AM", "8:00PM")
dt.Rows.Add("B", "04/11/2019", "7:00AM", "9:00PM")
dt.Rows.Add("C", "04/11/2019", "8:00AM", "10:00PM")
dt.Rows.Add("D", "04/11/2019", "9:00AM", "11:00PM")
Me.gvStaffDetails.DataSource = dt
Me.gvStaffDetails.DataBind()
End If
End Sub
Protected Sub ddlCountries_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs)
Dim dropDownList As DropDownList = TryCast(sender, DropDownList)
Dim row As GridViewRow = TryCast(dropDownList.NamingContainer, GridViewRow)
Dim datee As Label = CType(row.FindControl("lblDate"), Label)
Dim fromTime As Label = CType(row.FindControl("lblFromTime"), Label)
Dim toTime As Label = CType(row.FindControl("lblToTime"), Label)
lblDate.Text = datee.Text
lblTime.Text = fromTime.Text & " " + toTime.Text
End Sub
Screenshot