Hi irshad1231,
Check this example. Now please take its reference and correct your code.
HTML
<asp:CheckBoxList ID="CheckBoxList1" runat="server" RepeatDirection="Vertical">
</asp:CheckBoxList>
Namespaces
C#
using System.Data;
VB.Net
Imports System.Data
Code
C#
protected void Page_Load(object sender, EventArgs e)
{
if (!this.IsPostBack)
{
BindCheckBoxListWithNextSevenDays();
}
}
public void BindCheckBoxListWithNextSevenDays()
{
DateTime today = DateTime.Now;
DataTable dt = new DataTable();
dt.Columns.Add("Id", typeof(int));
dt.Columns.Add("Date", typeof(string));
for (int i = 0; i < 7; i++)
{
dt.Rows.Add(i, today.AddDays(i).DayOfWeek);
}
CheckBoxList1.DataSource = dt;
CheckBoxList1.DataTextField = "Date";
CheckBoxList1.DataValueField = "Id";
CheckBoxList1.DataBind();
foreach (ListItem item in CheckBoxList1.Items)
{
DataTable dtDays = GetActiveDays();
string columnName = item.Text.Substring(0, 3);
item.Selected = dtDays.Rows[0][columnName].ToString() == "1" ? true : false;
}
}
private DataTable GetActiveDays()
{
DataTable dt = new DataTable();
dt.Columns.Add("Sun");
dt.Columns.Add("Sat");
dt.Columns.Add("Mon");
dt.Columns.Add("Tue");
dt.Columns.Add("Wed");
dt.Columns.Add("Thu");
dt.Columns.Add("Fri");
dt.Rows.Add(1, 0, 1, 1, 1, 0, 0);
return dt;
}
VB.Net
Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Load
If Not Me.IsPostBack Then
BindCheckBoxListWithNextSevenDays()
End If
End Sub
Public Sub BindCheckBoxListWithNextSevenDays()
Dim today As DateTime = DateTime.Now
Dim dt As DataTable = New DataTable()
dt.Columns.Add("Id", GetType(Integer))
dt.Columns.Add("Date", GetType(String))
For i As Integer = 0 To 7 - 1 Step 1
dt.Rows.Add(i, today.AddDays(i).DayOfWeek)
Next
CheckBoxList1.DataSource = dt
CheckBoxList1.DataTextField = "Date"
CheckBoxList1.DataValueField = "Id"
CheckBoxList1.DataBind()
For Each item As ListItem In CheckBoxList1.Items
Dim dtDays As DataTable = GetActiveDays()
Dim columnName As String = item.Text.Substring(0, 3)
item.Selected = If(dtDays.Rows(0)(columnName).ToString() = "1", True, False)
Next
End Sub
Private Function GetActiveDays() As DataTable
Dim dt As DataTable = New DataTable()
dt.Columns.Add("Sun")
dt.Columns.Add("Sat")
dt.Columns.Add("Mon")
dt.Columns.Add("Tue")
dt.Columns.Add("Wed")
dt.Columns.Add("Thu")
dt.Columns.Add("Fri")
dt.Rows.Add(1, 0, 1, 1, 1, 0, 0)
Return dt
End Function
Screenshot