using System;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
namespace UserControl.UI
{
/// <summary>
/// TreesTable 的摘要说明。
/// </summary>
public class TreesTable
{
public interface iTrees
{
void AddNode(Trees node);
Control NodeItem{get;}
Control Title{get;set;}
}
public class Trees:Control,iTrees
{
private Control m_TreeNodeCollect;
private Control m_TitleControl;
private string m_TextTitle;
private HtmlTable m_HtmlTabe;
private string m_script;
private const string SCRIPT="<script language='javascript'>{0}</script>";
public Trees()
{
m_TreeNodeCollect = new Control();
m_HtmlTabe = new HtmlTable();
//Java script
m_script = string.Format(SCRIPT,
"function ShowObject(showObjName){var showObj1=showObjName; if(showObj1.style.display=='none'){showObj1.style.display='block';}else{showObj1.style.display='none';}}");
}
public Trees(string title)
{
m_TreeNodeCollect = new Control();
m_HtmlTabe = new HtmlTable();
//Java script
m_script = string.Format(SCRIPT,
"function ShowObject(showObjName){var showObj1=showObjName; if(showObj1.style.display=='none'){showObj1.style.display='block';}else{showObj1.style.display='none';}}");
TextTitle = title;
}
public Trees(Control title)
{
m_TreeNodeCollect = new Control();
m_HtmlTabe = new HtmlTable();
//Java script
m_script = string.Format(SCRIPT,
"function ShowObject(showObjName){var showObj1=showObjName; if(showObj1.style.display=='none'){showObj1.style.display='block';}else{showObj1.style.display='none';}}");
Title = title;
}
private Control getTextControl(string string1)
{
Literal li = new Literal();
li.Text = string1 + "";
return li;
}
public string TextTitle
{
get { return m_TextTitle; }
set
{
m_TextTitle = value;
Title = getTextControl(value);
}
}
protected override void CreateChildControls()
{
base.CreateChildControls();
Page.RegisterStartupScript("ShowObject", m_script);
Controls.Add(m_HtmlTabe);
m_HtmlTabe.Rows.Add(getHtmlTable(Title));
if(NodeItem.Controls.Count>0)
{
m_HtmlTabe.Rows.Add(getHtmlTable(NodeItem));
m_HtmlTabe.Rows[0].Attributes["onclick"] =
string.Format("ShowObject(document.getElementById('{0}'))", m_HtmlTabe.Rows[1].ClientID);
}
}
private HtmlTableRow getHtmlTable(Control control)
{
HtmlTableRow tr;
HtmlTableCell td;
tr = new HtmlTableRow();
td = new HtmlTableCell();
td.Controls.Add(control);
tr.Cells.Add(td);
tr.ID = tr.ClientID;
return tr;
}
#region iTrees 成员
public void AddNode(Trees node)
{
NodeItem.Controls.Add(node);
}
public Control NodeItem
{
get
{
return m_TreeNodeCollect;
}
}
public Control Title
{
get { return m_TitleControl; }
set { m_TitleControl = value; }
}
#endregion
}
}
}