我用一个listbox来绑定部门数控
想得到这么一个效果:第一级部门显示的是"|-"+部门名称,第二级显示的是"|---"+部门名称
依次内推
但我只做到了每级只显示部门名称的效果,前面的级别字符没有实现
下面是我的代码
private void aaaa(int dutyID)
{ DataTable dt = new DataTable();
dt.Columns.Add("DutyID");
dt.Columns.Add("DutyName");
dt.Columns.Add("Description");
dt.Columns.Add("ParentID"); dt.Rows.Add("1", "XX集团", "集团", "0");
dt.Rows.Add("2", "北京XX软件有限公司", "北京分公司", "1");
dt.Rows.Add("3", "大连XX软件有限公司", "大连分公司", "1");
dt.Rows.Add("4", "美国XX软件有限公司", "美国分公司", "1");
dt.Rows.Add("5", "日本XX软件有限公司", "日本分公司", "1");
dt.Rows.Add("6", "研发部", "研发", "2");
dt.Rows.Add("7", "数字媒体部", "数媒", "2"); foreach (DataRow dr in dt.Rows)
{
if (dutyID.ToString() == dr["ParentID"].ToString())
{
dlDepart.Items.Add(new ListItem(dr["DutyName"].ToString(), dr["DutyID"].ToString()));
int parentID = Convert.ToInt32(dr["DutyID"].ToString());
aaaa(parentID, dt); }
}
} private void aaaa(int dutyID, DataTable dt)
{
foreach (DataRow dr in dt.Rows)
{
if (dutyID.ToString() == dr["ParentID"].ToString())
{
dlDepart.Items.Add(new ListItem(dr["DutyName"].ToString(), dr["DutyID"].ToString()));
int parentID = Convert.ToInt32(dr["DutyID"].ToString());
aaaa(parentID, dt);
}
}
}请高手帮助一下
谢谢
想得到这么一个效果:第一级部门显示的是"|-"+部门名称,第二级显示的是"|---"+部门名称
依次内推
但我只做到了每级只显示部门名称的效果,前面的级别字符没有实现
下面是我的代码
private void aaaa(int dutyID)
{ DataTable dt = new DataTable();
dt.Columns.Add("DutyID");
dt.Columns.Add("DutyName");
dt.Columns.Add("Description");
dt.Columns.Add("ParentID"); dt.Rows.Add("1", "XX集团", "集团", "0");
dt.Rows.Add("2", "北京XX软件有限公司", "北京分公司", "1");
dt.Rows.Add("3", "大连XX软件有限公司", "大连分公司", "1");
dt.Rows.Add("4", "美国XX软件有限公司", "美国分公司", "1");
dt.Rows.Add("5", "日本XX软件有限公司", "日本分公司", "1");
dt.Rows.Add("6", "研发部", "研发", "2");
dt.Rows.Add("7", "数字媒体部", "数媒", "2"); foreach (DataRow dr in dt.Rows)
{
if (dutyID.ToString() == dr["ParentID"].ToString())
{
dlDepart.Items.Add(new ListItem(dr["DutyName"].ToString(), dr["DutyID"].ToString()));
int parentID = Convert.ToInt32(dr["DutyID"].ToString());
aaaa(parentID, dt); }
}
} private void aaaa(int dutyID, DataTable dt)
{
foreach (DataRow dr in dt.Rows)
{
if (dutyID.ToString() == dr["ParentID"].ToString())
{
dlDepart.Items.Add(new ListItem(dr["DutyName"].ToString(), dr["DutyID"].ToString()));
int parentID = Convert.ToInt32(dr["DutyID"].ToString());
aaaa(parentID, dt);
}
}
}请高手帮助一下
谢谢
解决方案 »
- 软件双语版如何做
- 关于MDI窗体问题!!
- 如何让XmlText的Value的值是nbsp?在线等
- ref如何用?我用ref传送一个CookieCollection为什么会无效?
- 在 WebClient 请求期间发生异常 大神们进来看看
- 同一个WinFOrm变成两个界面后怎么同步变化界面
- C#新手诚征C#实例之一(WinForm对话框、基本控件的使用)
- C#中怎么画PIXLE的图啊?麻烦拨冗赐教,很急!
- 高手请赐教:从html页中析出超链接,为什么这段源程序只能解出老外的,对中文的网也没用???
- 求助:在程序编译的时候出现以下错误。
- 为什么啊?为什么将JPG图片拷入word文档后,EXIF头部信息全丢失了???
- 如何让按下Alt+Tab组合键时让程序的图标不显示
{ DataTable dt = new DataTable();
dt.Columns.Add("DutyID");
dt.Columns.Add("DutyName");
dt.Columns.Add("Description");
dt.Columns.Add("ParentID");
dt.Columns.Add("Depth",typeof(int)); dt.Rows.Add("1", "XX集团", "集团", "0",0);
dt.Rows.Add("2", "北京XX软件有限公司", "北京分公司", "1",1);
dt.Rows.Add("3", "大连XX软件有限公司", "大连分公司", "1",1);
dt.Rows.Add("4", "美国XX软件有限公司", "美国分公司", "1",1);
dt.Rows.Add("5", "日本XX软件有限公司", "日本分公司", "1",1);
dt.Rows.Add("6", "研发部", "研发", "2",2);
dt.Rows.Add("7", "数字媒体部", "数媒", "2",2); foreach (DataRow dr in dt.Rows)
{
if (dutyID.ToString() == dr["ParentID"].ToString())
{
int n = Convert.ToInt32(dr["Depth"]);
string sName = "|".PadRight(n,'-') + dr["DutyName"].ToString();
dlDepart.Items.Add(new ListItem(sName, dr["DutyID"].ToString()));
int parentID = Convert.ToInt32(dr["DutyID"].ToString());
aaaa(parentID, dt); }
}
} private void aaaa(int dutyID, DataTable dt)
{
foreach (DataRow dr in dt.Rows)
{
if (dutyID.ToString() == dr["ParentID"].ToString())
{
int n = Convert.ToInt32(dr["Depth"]);
string sName = "|".PadRight(n,'-') + dr["DutyName"].ToString();
dlDepart.Items.Add(new ListItem(sName, dr["DutyID"].ToString()));
int parentID = Convert.ToInt32(dr["DutyID"].ToString());
aaaa(parentID, dt);
}
}
}
郁闷的是不能编辑自己发的帖子,再发一遍:
private void aaaa(int dutyID)
{ DataTable dt = new DataTable();
dt.Columns.Add("DutyID");
dt.Columns.Add("DutyName");
dt.Columns.Add("Description");
dt.Columns.Add("ParentID");
dt.Columns.Add("Depth",typeof(int)); dt.Rows.Add("1", "XX集团", "集团", "0",0);
dt.Rows.Add("2", "北京XX软件有限公司", "北京分公司", "1",1);
dt.Rows.Add("3", "大连XX软件有限公司", "大连分公司", "1",1);
dt.Rows.Add("4", "美国XX软件有限公司", "美国分公司", "1",1);
dt.Rows.Add("5", "日本XX软件有限公司", "日本分公司", "1",1);
dt.Rows.Add("6", "研发部", "研发", "2",2);
dt.Rows.Add("7", "数字媒体部", "数媒", "2",2); foreach (DataRow dr in dt.Rows)
{
if (dutyID.ToString() == dr["ParentID"].ToString())
{
int n = Convert.ToInt32(dr["Depth"]);
string sName = "|".PadRight(n,'-') + dr["DutyName"].ToString();
dlDepart.Items.Add(new ListItem(sName, dr["DutyID"].ToString()));
int parentID = Convert.ToInt32(dr["DutyID"].ToString());
aaaa(parentID, dt); }
}
} private void aaaa(int dutyID, DataTable dt)
{
foreach (DataRow dr in dt.Rows)
{
if (dutyID.ToString() == dr["ParentID"].ToString())
{
int n = Convert.ToInt32(dr["Depth"]);
string sName = "|".PadRight(n,'-') + dr["DutyName"].ToString();
dlDepart.Items.Add(new ListItem(sName, dr["DutyID"].ToString()));
int parentID = Convert.ToInt32(dr["DutyID"].ToString());
aaaa(parentID, dt);
}
}
}