DataList with two rows and Dynamic Repeat Columns


Here is ours .aspx code:

<h2>DataList with two rows and Dynamic Repeat Columns </h2>
     <asp:DataList id="dlDynamic"
           BorderColor="DarkGray"
           CellPadding="10"
           CellSpacing="4"
           RepeatDirection="Horizontal"
           RepeatLayout="Table"
           Width="100%"
           runat="server" Font-Names="arial" Font-Size="Small">

         <HeaderStyle BackColor="#cdcdcd">
         </HeaderStyle>

         <AlternatingItemStyle BackColor="LightGray">
         </AlternatingItemStyle>

         <HeaderTemplate>View Your Details, Here </HeaderTemplate>
         <ItemTemplate>
            Name:  <%#Eval("Name")%>
            <br />
            Age: <%#Eval("Age")%>
            <br />
            Address : <%#Eval("Address")%>
            <hr />
         </ItemTemplate>

      </asp:DataList>

Here is ours .cs code:

On load event:

protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            BindDataList();
        }
    }
protected void BindDataList()
    {
        //string strPollQry = "SELECT * fROM pollOption";

        //SqlCommand cmd = new SqlCommand(strPollQry);
        //cmd.Connection = dbConn;
        //dbConn.Open();
        //SqlDataAdapter da = new SqlDataAdapter(cmd);
        //DataTable dt = new DataTable();
        //da.Fill(dt);

        // Here we Are Declaring the Data Table and Data Row
        DataTable dt = new DataTable();
        DataRow dr = null;

        // Here we Are Declaring the Column for Table and Data Type
        dt.Columns.Add("Name", typeof(string));
        dt.Columns.Add("Age", typeof(Int32));
        dt.Columns.Add("Address", typeof(string));

        //Runing the loop to add data into data row
        for (int i = 0; i < 7; i++)
        {
            string strName = "ABC" + i;
            Int32 Age = 10 + i;
            string strAddress = "XYZ" + i;

            dr = dt.NewRow();
            dr[0] = strName;
            dr[1] = Age;
            dr[2] = strAddress;

            dt.Rows.Add(dr);

            //Here we are going to assign repeat columns as we wish (assuming two rows) DataList should display
            if (dt.Rows.Count > 0)
            {
                int repeatColumns = 0;
                if (dt.Rows.Count % 2 == 0)
                {
                    repeatColumns = dt.Rows.Count / 2;
                }
                else
                {
                    repeatColumns = (dt.Rows.Count / 2) + 1;
                }
                dlDynamic.RepeatColumns = repeatColumns; // set the repeat columns by two
                dlDynamic.DataSource = dt;
                dlDynamic.DataBind();
            }
        }
    }
I hope you will enjoy.

Comments