使用C#创建表头

时间:2012-08-30 16:38:54

标签: c# asp.net

我正在尝试使用asp.net C#table创建类似电子表格的表格以将其用作时间表 现在我可以创建表号OFDayInMonth X 4 cols。我需要一些帮助,如何动态地将表头名称和文本框控件添加到表?有人可以帮助我?

我的C#代码

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Globalization;

namespace Compudata_ProjectManager
{
    public partial class testPage : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                DateTimeFormatInfo info = DateTimeFormatInfo.GetInstance(null);

                for (int i = 1; i < 13; i++)
                {

                    //Response.Write(info.GetAbbreviatedMonthName(i) + "<br />");

                    ddl_months.Items.Add(new ListItem(info.GetMonthName(i), i.ToString()));

                }
            }
        }

        protected void ddl_months_SelectedIndexChanged(object sender, EventArgs e)
        {
            // Remove all the current rows and cells.
            // This is not necessary if EnableViewState is set to false.
            tbl_timesheet.Controls.Clear();
            //declare datetime dt
            DateTime dt =  new DateTime();
            int orderOfMonth = Convert.ToInt32(ddl_months.SelectedValue.ToString());
            //get number of date in X month
            int noOfDays = DateTime.DaysInMonth(dt.Year, orderOfMonth);
            int numOfCols = 4;
            for (int row = 0; row < noOfDays; row++)
            {
                // Create a new TableRow object.
                TableRow rowNew = new TableRow();
                // Put the TableRow in the Table.
                tbl_timesheet.Controls.Add(rowNew);
                for (int col = 0; col < numOfCols; col++)
                {
                    // Create a new TableCell object.
                    TableCell cellNew = new TableCell();
                    cellNew.Text = "Example Cell (" + row.ToString() + ",";
                    cellNew.Text += col.ToString() + ")";

                    // Put the TableCell in the TableRow.
                    rowNew.Controls.Add(cellNew);
                }
            }

        }


    }
}

1 个答案:

答案 0 :(得分:2)

用于headerrow和动态TextBox控件

Table tbl = new Table(); // Creating a new table

TableHeaderRow header = new TableHeaderRow(); // Creating a header row
tbl.Rows.Add(header); // Add the header row to table tbl        

    // Creating Dynamic TextBox Control
TextBox t = new TextBox();
t.ID = "myTextBox"; // assing an ID

    // Now add this in a table row
TableRow rowNew = new TableRow(); // Creating a new table row
rowNew.Cells[0].Controls.Add(t);         // add the textbox control at cell zero
             // or you can add it as
rowNew.Controls.Add(t);