以下是代码
static DataTable Pub_dt;
protected void Page_Load(object sender, EventArgs e)
{
string Query_Sql = "select id,deptname,sid from sys_department";
Pub_dt = new DataTable();
Sys_DepartmentSys Qusys = new Sys_DepartmentSys();
Pub_dt = Qusys.getData();
Frist_loaadtree(UltraWebTree1, Pub_dt);
}
public void Frist_loaadtree(UltraWebTree tv, DataTable tb)
{
DataRow[] Rows = Pub_dt.Select("id='001'");
foreach (DataRow Row in Rows)
{
Node node = new Node();
node.Text = Row["deptname"].ToString();
node.DataKey = Row["id"].ToString();
tv.Nodes.Add(node).ShowExpand = true; int len = (node.DataKey.ToString()).Length + 3;
DataRow[] dr = Pub_dt.Select("id like'" + node.DataKey + "%' and len(id)='" + len + "'");
Sec_loadtree(node, dr);
}
}
public void Sec_loadtree(Node p_id, DataRow[] drs)
{
for (int i = 0; i < drs.Length; i++)
{
Node node = new Node();
node.Text = drs[i]["deptname"].ToString();
node.DataKey = drs[i]["id"].ToString();
p_id.Nodes.Add(node).ShowExpand = true;
}
}
protected void UltraWebTree1_DemandLoad(object sender, WebTreeNodeEventArgs e)
{
int len = (e.Node.DataKey.ToString()).Length + 3;
DataRow[] dr = Pub_dt.Select("id like'" + e.Node.DataKey+ "%' and len(id)='" + len + "'");
if (dr.Length > 0)
{
Sec_loadtree(e.Node, dr);
}
}这是一个树型结构,基怪的是此树型结构在第一层,二层好用,当点击第二层加载第三层的时候就了错了,即
protected void UltraWebTree1_DemandLoad(object sender, WebTreeNodeEventArgs e)
{
int len = (e.Node.DataKey.ToString()).Length + 3;
此地方的e.Node.DataKey.ToString() 未将对象引用到实例。、开始以为是page_load方法里边的应该放在 !isPostBack 里边,可是当我修改了时候在进行也还是不对
请高手指定下到底是怎么进行加载的,郁闷了
static DataTable Pub_dt;
protected void Page_Load(object sender, EventArgs e)
{
string Query_Sql = "select id,deptname,sid from sys_department";
Pub_dt = new DataTable();
Sys_DepartmentSys Qusys = new Sys_DepartmentSys();
Pub_dt = Qusys.getData();
Frist_loaadtree(UltraWebTree1, Pub_dt);
}
public void Frist_loaadtree(UltraWebTree tv, DataTable tb)
{
DataRow[] Rows = Pub_dt.Select("id='001'");
foreach (DataRow Row in Rows)
{
Node node = new Node();
node.Text = Row["deptname"].ToString();
node.DataKey = Row["id"].ToString();
tv.Nodes.Add(node).ShowExpand = true; int len = (node.DataKey.ToString()).Length + 3;
DataRow[] dr = Pub_dt.Select("id like'" + node.DataKey + "%' and len(id)='" + len + "'");
Sec_loadtree(node, dr);
}
}
public void Sec_loadtree(Node p_id, DataRow[] drs)
{
for (int i = 0; i < drs.Length; i++)
{
Node node = new Node();
node.Text = drs[i]["deptname"].ToString();
node.DataKey = drs[i]["id"].ToString();
p_id.Nodes.Add(node).ShowExpand = true;
}
}
protected void UltraWebTree1_DemandLoad(object sender, WebTreeNodeEventArgs e)
{
int len = (e.Node.DataKey.ToString()).Length + 3;
DataRow[] dr = Pub_dt.Select("id like'" + e.Node.DataKey+ "%' and len(id)='" + len + "'");
if (dr.Length > 0)
{
Sec_loadtree(e.Node, dr);
}
}这是一个树型结构,基怪的是此树型结构在第一层,二层好用,当点击第二层加载第三层的时候就了错了,即
protected void UltraWebTree1_DemandLoad(object sender, WebTreeNodeEventArgs e)
{
int len = (e.Node.DataKey.ToString()).Length + 3;
此地方的e.Node.DataKey.ToString() 未将对象引用到实例。、开始以为是page_load方法里边的应该放在 !isPostBack 里边,可是当我修改了时候在进行也还是不对
请高手指定下到底是怎么进行加载的,郁闷了
Pub_dt = new DataTable();
Sys_DepartmentSys Qusys = new Sys_DepartmentSys();
Pub_dt = Qusys.getData();
Frist_loaadtree(UltraWebTree1, Pub_dt); 我用这四句话构建了一个DataTable Query_Sql没有用