自动产生树,并建立树结构
private void Database(TreeView tempTree)
{
sqlConn = new SqlConnection(strConn);
sqlConn.Open();
SqlDataAdapter adapter = new SqlDataAdapter("select * From PL_Design_Template_TaskItme", sqlConn);
DataSet ds = new DataSet();
adapter.Fill(ds);
sqlConn.Close();
tempTree.Nodes.Clear();
CreateTreeView(tempTree.Nodes, ds.Tables[0], 0);
}
private void CreateTreeView(TreeNodeCollection nodes, DataTable dataSource, int parentId)
{
string fifter = String.Format("UpTaskId={0}", parentId);
DataRow[] drr = dataSource.Select(fifter);
TreeNode Node;
foreach (DataRow dr in drr)
{
Node = new TreeNode();
nodes.Add(Node);
Node.Text = dr["TaskName"].ToString();
int nodeId = (int)dr["Template_TaskItmeId"];
Node.SelectAction = TreeNodeSelectAction.None;
CreateTreeView(Node.ChildNodes, dataSource, nodeId);
dataSource.Rows.Remove(dr);
}
}
自动产生表格,把自动产的树放到表格中
int numrows;
int numcells;
int i = 0;
int j = 0;
int row = 0;
TableRow r;
TableCell c;
//产生表格
numrows = 2;
numcells = 3;
for (i = 0; i < numrows; i++)
{
r = new TableRow();
for (j = 0; j < numcells; j++)
{
c = new TableCell();
TreeView tree = new TreeView();
RadioButton radioBut = new RadioButton();
radioBut.ID = "radi";
radioBut.Text = "afdadfasdf";
tree.ID = "tree" + j.ToString() + i.ToString();
c.Controls.Add(radioBut);
c.Controls.Add(tree);
c.Width = 800;
Database(tree);
//c.Controls.Add(new LiteralControl("row" + j + ",cell" + i));
r.Cells.Add(c);
}
Table1.Rows.Add(r);
}