Hi democloud,
Please refer below sample and according to code change your code.
HTML
<cc1:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server">
</cc1:ToolkitScriptManager>
<asp:TextBox ID="txtDate" runat="server" AutoPostBack="true" OnTextChanged="GetData"></asp:TextBox>
<asp:ImageButton ID="imgPopup" ImageUrl="~/images/Calendar.png" ImageAlign="Bottom"
runat="server" />
<cc1:CalendarExtender ID="Calendar1" PopupButtonID="imgPopup" runat="server" TargetControlID="txtDate"
Format="dd/MM/yyyy">
</cc1:CalendarExtender>
<asp:GridView ID="gvDates" runat="server" AutoGenerateColumns="false">
<Columns>
<asp:BoundField DataField="Staff Name" HeaderText="Staff Name" />
<asp:BoundField DataField="Client Name" HeaderText="Client Name" />
<asp:BoundField DataField="date1" HeaderText="date1" DataFormatString="{0:dd/MM/yyyy}" />
<asp:BoundField DataField="date2" HeaderText="date2" DataFormatString="{0:dd/MM/yyyy}" />
<asp:BoundField DataField="date3" HeaderText="date3" DataFormatString="{0:dd/MM/yyyy}" />
</Columns>
</asp:GridView>
Namespaces
C#
using System.Data;
VB.Net
Imports System.Data
Code
C#
protected void Page_Load(object sender, EventArgs e)
{
if (!this.IsPostBack)
{
DataTable dt = GetDataTable();
this.gvDates.DataSource = dt;
this.gvDates.DataBind();
}
}
private static DataTable GetDataTable()
{
DataTable dt = new DataTable();
dt.Columns.AddRange(new DataColumn[] { new DataColumn("Staff Name", typeof(string)), new DataColumn("Client Name", typeof(string)), new DataColumn("date1", typeof(DateTime)), new DataColumn("date2", typeof(DateTime)), new DataColumn("date3", typeof(DateTime)) });
dt.Rows.Add("staff1", "client1", "2/11/2019", "2/4/2019", "1/1/0001");
dt.Rows.Add("staff1", "client2", "2/25/2019", "2/18/2019", "1/1/0001");
dt.Rows.Add("staff2", "client1", "1/1/0001", "1/1/0001", "1/1/0001");
dt.Rows.Add("staff1", "client1", "2/11/2019", "2/4/2019", "1/1/0001");
return dt;
}
protected void GetData(object sender, EventArgs e)
{
DateTime date1 = Convert.ToDateTime(txtDate.Text);
DataTable dt = GetDataTable();
DataTable dt1 = new DataTable();
DataRow[] results = dt.Select("Date1 = '" + date1.ToString("dd/MM/yyyy") + "' OR Date2 ='" + date1.ToString("dd/MM/yyyy") + "'OR Date3 ='" + date1.ToString("dd/MM/yyyy") + "'");
if (results.Length != 0)
{
dt1 = results.CopyToDataTable();
this.gvDates.DataSource = dt1;
this.gvDates.DataBind();
}
else
{
this.gvDates.DataSource = dt;
this.gvDates.DataBind();
}
}
VB.Net
Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Load
If Not Me.IsPostBack Then
Dim dt As DataTable = GetDataTable()
Me.gvDates.DataSource = dt
Me.gvDates.DataBind()
End If
End Sub
Private Shared Function GetDataTable() As DataTable
Dim dt As DataTable = New DataTable()
dt.Columns.AddRange(New DataColumn() {New DataColumn("Staff Name", GetType(String)), New DataColumn("Client Name", GetType(String)), New DataColumn("date1", GetType(DateTime)), New DataColumn("date2", GetType(DateTime)), New DataColumn("date3", GetType(DateTime))})
dt.Rows.Add("staff1", "client1", "2/11/2019", "2/4/2019", "1/1/0001")
dt.Rows.Add("staff1", "client2", "2/25/2019", "2/18/2019", "1/1/0001")
dt.Rows.Add("staff2", "client1", "1/1/0001", "1/1/0001", "1/1/0001")
dt.Rows.Add("staff1", "client1", "2/11/2019", "2/4/2019", "1/1/0001")
Return dt
End Function
Protected Sub GetData(ByVal sender As Object, ByVal e As EventArgs)
Dim date1 As DateTime = Convert.ToDateTime(txtDate.Text)
Dim dt As DataTable = GetDataTable()
Dim dt1 As DataTable = New DataTable()
Dim results As DataRow() = dt.[Select]("Date1 = '" & date1.ToString("dd/MM/yyyy") & "' OR Date2 ='" + date1.ToString("dd/MM/yyyy") & "'OR Date3 ='" + date1.ToString("dd/MM/yyyy") & "'")
If results.Length <> 0 Then
dt1 = results.CopyToDataTable()
Me.gvDates.DataSource = dt1
Me.gvDates.DataBind()
Else
Me.gvDates.DataSource = dt
Me.gvDates.DataBind()
End If
End Sub
Screenshot