public static void BindDropFatherItem( DropDownList DropDownList )
{
DropDownList.Items.Clear();
string strSql = "select * from Department";
DataTable dt = DB.GetTable( strSql );//获取所有节点
//判断跟节点数量
string strSql1 = "select count(*) from Department where ParentID = 0";
int ParentCount = Convert.ToInt32( DB.ExecuteScalar( strSql1 ) );
if( dt.Rows.Count > 0 )
{
foreach( DataRow dr in dt.Rows )
{
if( ParentCount == 0 )
{
if( dr[ "ParentID" ].ToString().Trim() == "0" )//绑定根节点
{
DropDownList.Items.Insert( 0, "请选择" );
DropDownList.Items.Add( new ListItem( dr[ "DepName" ].ToString(), dr[ "DepID" ].ToString() ) );
BindDropChildItem( DropDownList, dt, dr[ "DepID" ].ToString(), 1 );
}
}
else
{
if( dr[ "ParentID" ].ToString().Trim() == "0" )//绑定根节点
{
DropDownList.Items.Add( new ListItem( dr[ "DepName" ].ToString(), dr[ "DepID" ].ToString() ) );
BindDropChildItem( DropDownList, dt, dr[ "DepID" ].ToString(), 1 );
}
}
}
}
}
{
DropDownList.Items.Clear();
string strSql = "select * from Department";
DataTable dt = DB.GetTable( strSql );//获取所有节点
//判断跟节点数量
string strSql1 = "select count(*) from Department where ParentID = 0";
int ParentCount = Convert.ToInt32( DB.ExecuteScalar( strSql1 ) );
if( dt.Rows.Count > 0 )
{
foreach( DataRow dr in dt.Rows )
{
if( ParentCount == 0 )
{
if( dr[ "ParentID" ].ToString().Trim() == "0" )//绑定根节点
{
DropDownList.Items.Insert( 0, "请选择" );
DropDownList.Items.Add( new ListItem( dr[ "DepName" ].ToString(), dr[ "DepID" ].ToString() ) );
BindDropChildItem( DropDownList, dt, dr[ "DepID" ].ToString(), 1 );
}
}
else
{
if( dr[ "ParentID" ].ToString().Trim() == "0" )//绑定根节点
{
DropDownList.Items.Add( new ListItem( dr[ "DepName" ].ToString(), dr[ "DepID" ].ToString() ) );
BindDropChildItem( DropDownList, dt, dr[ "DepID" ].ToString(), 1 );
}
}
}
}
}
public static void BindDropChildItem( DropDownList DropDownList, DataTable dt, string id, int length )
{
DataRow[] rows = dt.Select( "ParentID='" + id + "'", "DepID ASC" );//取出id子节点进行绑定
for( int i = 0; i < rows.Length; i++ )
{
DropDownList.Items.Add( new ListItem( Department.SpaceLength( length ) + rows[ i ][ "DepName" ].ToString(), rows[ i ][ "DepID" ].ToString() ) );
BindDropChildItem( DropDownList, dt, rows[ i ][ "DepID" ].ToString(), length + 1 );//空白数目加1
}
}
// 子节点前面的空白数
public static string SpaceLength( int i )
{
string space = "";
for( int j = 0; j < i; j++ )
{
space += "------";//分层显示字符;
}
return space;
}
{
DataRow[] rows = dt.Select( "ParentID='" + id + "'", "DepID ASC" );//取出id子节点进行绑定
for( int i = 0; i < rows.Length; i++ )
{
DropDownList.Items.Add( new ListItem( Department.SpaceLength( length ) + rows[ i ][ "DepName" ].ToString(), rows[ i ][ "DepID" ].ToString() ) );
BindDropChildItem( DropDownList, dt, rows[ i ][ "DepID" ].ToString(), length + 1 );//空白数目加1
}
}
// 子节点前面的空白数
public static string SpaceLength( int i )
{
string space = "";
for( int j = 0; j < i; j++ )
{
space += "------";//分层显示字符;
}
return space;
}