我正在尝试使用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);
}
}
}
}
}
答案 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);