Hi germaine84,
Here is my sample. I use a function to calculate the last Sunday and use a SqlDataSource control to bind GridView of the last week:
<asp:Calendar ID="c1" runat="server" OnSelectionChanged="c1_SelectionChanged"></asp:Calendar>
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false">
<Columns>
<asp:TemplateField HeaderText="Monday" >
<ItemTemplate>
<asp:CheckBox id="day2" runat="server" Text='<%# Eval("mon") %>' />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Tuesday" >
<ItemTemplate>
<asp:CheckBox id="day3" runat="server" Text='<%# Eval("tue") %>' />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Wednesday" >
<ItemTemplate>
<asp:CheckBox id="day4" runat="server" Text='<%# Eval("wed") %>' />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Thursday" >
<ItemTemplate>
<asp:CheckBox id="day5" runat="server" Text='<%# Eval("thu") %>' />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Friday" >
<ItemTemplate>
<asp:CheckBox id="day6" runat="server" Text='<%# Eval("fri") %>' />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Saturday" >
<ItemTemplate>
<asp:CheckBox id="day7" runat="server" Text='<%# Eval("sat") %>' />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:sql %>"
SelectCommand="SELECT T._NAME, NVL(SC.STARTDATE, ' ') AS STARTDATE, NVL(SC.ENDDATE, ' ') AS ENDDATE FROM SOMETABLE WHERE SC.COUNT_REQUEST_ID = @COUNT_REQUEST_ID AND STARTDATE BETWEEN @P_STARTDATE AND @P_ENDDATE">
<SelectParameters>
<asp:Parameter Name="COUNT_REQUEST_ID" />
<asp:Parameter Name="P_STARTDATE" />
<asp:Parameter Name="P_ENDDATE" />
</SelectParameters>
</asp:SqlDataSource>
protected void c1_SelectionChanged(object sender, EventArgs e)
{
DateTime dTime = PreSunday(c1.SelectedDate);
SqlDataSource1.SelectParameters["COUNT_REQUEST_ID"].DefaultValue = "the_id"; //input the id
SqlDataSource1.SelectParameters["P_STARTDATE"].DefaultValue = dTime.ToShortDateString();
SqlDataSource1.SelectParameters["P_ENDDATE"].DefaultValue = dTime.AddDays(5).ToShortDateString();
GridView1.DataSourceID = "SqlDataSource1";
GridView1.DataBind();
}
protected DateTime PreSunday(DateTime dt)
{
string day = dt.DayOfWeek.ToString();
switch (day)
{
case "Sunday":
return dt.AddDays(-6);
case "Saturday":
return dt.AddDays(-5);
case "Friday":
return dt.AddDays(-4);
case "Thursday":
return dt.AddDays(-3);
case "Wednesday":
return dt.AddDays(-2);
case "Tuesday":
return dt.AddDays(-1);
default:
return dt;
}
}
Maybe my understanding is not correct, you can refer the idea.
Thanks,