Hi irshad1231,
Check this example. Now please take its reference and correct your code.
Here i am binding the GridView in the same page you need to pass the value in query string and bind GridView in the destination page.
HTML
<div>
<asp:CheckBoxList ID="cblYear" runat="server" RepeatDirection="Horizontal">
<asp:ListItem Text="2014" Value="2014"></asp:ListItem>
<asp:ListItem Text="2015" Value="2015"></asp:ListItem>
<asp:ListItem Text="2016" Value="2016"></asp:ListItem>
<asp:ListItem Text="2017" Value="2017"></asp:ListItem>
</asp:CheckBoxList>
<asp:CheckBoxList ID="cblQuater" runat="server" RepeatDirection="Horizontal">
<asp:ListItem Text="Q1" Value="Q1"></asp:ListItem>
<asp:ListItem Text="Q2" Value="Q2"></asp:ListItem>
<asp:ListItem Text="Q3" Value="Q3"></asp:ListItem>
<asp:ListItem Text="Q4" Value="Q4"></asp:ListItem>
</asp:CheckBoxList>
<br />
<asp:Button Text="Generate" runat="server" OnClick="Generate" />
<br />
<asp:GridView runat="server" ID="gvYearQuarter" AutoGenerateColumns="false">
<Columns>
<asp:BoundField DataField="Year" HeaderText="Year" />
<asp:BoundField DataField="Quarter" HeaderText="Quarter" />
<asp:TemplateField HeaderText="Value">
<ItemTemplate>
<asp:TextBox runat="server" ID="txtValue" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</div>
Code
C#
protected void Generate(object sender, EventArgs e)
{
string yearly = "";
string quater = "";
System.Data.DataTable dt = new System.Data.DataTable();
dt.Columns.Add("Year");
dt.Columns.Add("Quarter");
for (int i = 0; i < cblYear.Items.Count; i++)
{
if (cblYear.Items[i].Selected)
{
yearly += cblYear.Items[i].Text + ",";
}
}
for (int i = 0; i < cblQuater.Items.Count; i++)
{
if (cblQuater.Items[i].Selected)
{
quater += cblQuater.Items[i].Text + ",";
}
}
if (yearly.Length > 0 && quater.Length > 0)
{
yearly = yearly.Remove(yearly.Length - 1);
quater = quater.Remove(quater.Length - 1);
for (int i = 0; i < yearly.Split(',').Length; i++)
{
for (int j = 0; j < quater.Split(',').Length; j++)
{
dt.Rows.Add(yearly.Split(',')[i], quater.Split(',')[j]);
}
}
}
gvYearQuarter.DataSource = dt;
gvYearQuarter.DataBind();
}
VB.Net
Protected Sub Generate(ByVal sender As Object, ByVal e As EventArgs)
Dim yearly As String = ""
Dim quater As String = ""
Dim dt As Data.DataTable = New Data.DataTable()
dt.Columns.Add("Year")
dt.Columns.Add("Quarter")
For i As Integer = 0 To cblYear.Items.Count - 1
If cblYear.Items(i).Selected Then
yearly += cblYear.Items(i).Text & ","
End If
Next
For i As Integer = 0 To cblQuater.Items.Count - 1
If cblQuater.Items(i).Selected Then
quater += cblQuater.Items(i).Text & ","
End If
Next
If yearly.Length > 0 AndAlso quater.Length > 0 Then
yearly = yearly.Remove(yearly.Length - 1)
quater = quater.Remove(quater.Length - 1)
For i As Integer = 0 To yearly.Split(","c).Length - 1
For j As Integer = 0 To quater.Split(","c).Length - 1
dt.Rows.Add(yearly.Split(","c)(i), quater.Split(","c)(j))
Next
Next
End If
gvYearQuarter.DataSource = dt
gvYearQuarter.DataBind()
End Sub
Screenshot