1、获取TreeList节点信息!
Public DataRow GetNodeData(TreeList TL,TreeListNode Fnode)
{
object w=TL.GetDataRecordByNode(Fnode);
DataRowView drv=(DataRowView)w;
return drv.Row;
}
2、获得节点的所有父节点
private ArrayList GetAllParentNode(TreeListNode Fnode)
{
ArrayList ALNode=new ArrayList();
if(Fnode.ParentNode!=null)
{
ALNode.Add(FNode.ParentNode("节点列"));
GetAllParentNode(ALNode.ParentNode);
}
return ALNode;
}
3、TreeList动态增加列
TreeListColumn tlc=TL.Columns.Add();
tlc.Caption="";设置列名
tlc.FieldName="";设置绑定的字段名
tlc.Width="";设置列宽
tlc.visible=True|False设置列的可见性
4、TreeList中增加链接

ColumnEdit设为链接

链接的单击事件在 In-place Editor Repository中
切忌将Treelist的ReadOnly设为True否则点击链接无效!
01.public partial class TLExample : DevExpress.XtraEditors.XtraForm
02.{
03. DataTable dt = new DataTable();
04. public TLExample()
05. {
06. InitializeComponent();
07. dt.Columns.Add("ID",System.Type.GetType("System.String"));
08. dt.Columns.Add("ParentID", System.Type.GetType("System.String"));
09. dt.Columns.Add("TreeNode", System.Type.GetType("System.String"));
10. }
11.
12. private void TLExample_Load(object sender, EventArgs e)
13. {
14. dt.Rows.Add("1", "0", "根节点");
15. dt.Rows.Add("2", "1", "子节点1");
16. dt.Rows.Add("3", "1", "子节点2");
17. dt.Rows.Add("4", "1", "子节点3");
18. dt.Rows.Add("5", "1", "子节点4");
19. treeList1.DataSource = dt;
20. }
21.
22.}
1、添加基础表数据
2、基础表中含有ID,ParentID两个字段用来组织树的父子结构。
3、在Run Designer上设置显示列!
3、将符合规则的数据表直接绑定到TreeList控件上!
结果如图!
可是在实际的数据库中往往不会存在上面那种很标准的(含有ID,ParentID的数据)。所以我们不能直接将数据绑定到控件上就必须对控件进行处理。
解决方法:
方法一:
将数据库中的数据根据实际规则处理成含有ID跟ParentID的表,然后进行绑定。
方法二:
根据实际规则,逐层加载每个节点!
下面对方法二用一个实例讲解!
在电脑中,文件夹是一层层加载下去的就如同一个树,怎么样将系统中的链接加载到TreeList上以树的形式显示出来呢?
怎么样把这树
显示在TreeList中?
系统中可以得知的数据:根节点\节点1 根节点\节点2 根节点\节点3
解决步骤:
1、加载第一级节点
2、判断是否含有子节点,若含有则继续加载
代码:
1、加载第一级节点
DataTable dt = new DataTable();
TreeListNode tln;
dt.Columns.Add("ID", System.Type.GetType("System.String"));
dt.Columns.Add("TreeNode", System.Type.GetType("System.String"));
DataRow drView = dt.NewRow();
drView.BeginEdit();
drView["ID"] = Guid.NewGuid();
drView["TreeNode"] = "根节点";
drView.EndEdit();
tln = treeList1.AppendNode(drView.ItemArray,null);
2、判断是否含有子节点
private bool IsHasChild(string name) { string midpt = ""; name为当前路径 与系统路径比较 若相等则含有子节点 返回TRUE 若不等则不含有子节点 返回FALSE }
3、当含有子节点,则找到子节点并与第一步相同的操作将子节点加载到TreeList上!
其中包含的一些详细的方法在下一节中给出!!!
eclipse开发java应用程序连接数据库!
步骤如下:
1、打开控制面板-->管理工具,选择数据源(ODBC);如下图

2、选择用户DSN-->添加;如下图

3、在弹出创建新数据源界面中,如果是SQL数据库,则选择SQL Native Client;如下图

4、创建SQL Server的新数据源,填写数据源名称,有关数据源的描述,以及连接的服务器;如下图

5、选择省份验证,若数据库身份验证为windows身份验证则选择第一个,若为ID和密码则选择第二个,并填写登录信息;如下图

6、选择你所要连接的数据库;如下图

7、完成数据源的创建;如下图

8、java程序代码中数据库连接字符串,如下
url=“sun.jdbc.odbc.JdbcOdbcDrver”;
瞄准实施切入点!
怎么样做?
实施前的准备!
怎么样做?
实施责任到人!
怎么样做?
数据保护意识!
怎么样做?
极端情况考虑!
怎么样做?
以上是小弟总结的问题,请大神回答!!
第一次做实施工作,思考了几点与大家分享!面对文化水平不高的软件使用者该怎么办?
一、了解软件使用人群的能力:船厂这个环境,尤其在中国这个环境下都是农民工居多,所以你讲的太专业必然不行。
二、信心+耐力:既然实施,别人就要懂你的软件,你做的东西就是从他们的日常工作中“抽象”而来的,或许以他们的能力一时半刻很难理解,但是只要细心就完全没有问题。
三、沟通:实施的工作,与应用商各部门的沟通再所难免,沟通这个环节我感觉很重要,管理类的软件一般不可能只有一个部门使用,部门与部门之间都可能存在联系,或许对某些部门来说用上了系统,他们的工作量会增加,但是这种工作量的增加是必不可少的。为了以后的工作更好做,某些牺牲是必要的。
四、说话技巧:这次实施以来最让我印象深刻的就是这说话技巧,这次实施时,跟我们接触的是一个施工队,他们是软件的第一使用者(这在中国的企业来说基本都这样,买软件的并不是第一使用者)。软件初次实施,什么基础工作都是由这些人来做,并且他们的文化水平不高,工作过程中错误再所难免。做过实施的都知道,在一个完全没有信息化概念的企业实施信息化,仅仅是基础工作,就是一个很庞大的工程。况且现在面对的还是几万张钢板。存在问题是要解决,他们作为软件的第一使用者很辛苦,我们不能因为一点点小错误就反映给他们的领导,领导嘛----不明真相的围观群众。最后受罪的还是这些工人,这反而不能有效的做好工作,适得其反,还会让这些第一使用者失去信息,还有就是在理清问题的时候,正确的对存在的问题做出评估,不可夸大问题,也不能隐瞒问题,这样都会给软件的实施以及后期的维护带来很多潜在的危险。
五、鼓励为主:针对软件的使用者来说,这次的使用对象是一些文化水平不高的使用者,PDA手持终端对他们来说是个新鲜、高科技。对有些人来说就会产生退缩,认为自己不能胜任。就拿现场的一个老工人来说,年龄已是我父母一般,管理仓库很多年,对仓库的很了解感情也很深,可是上了新系统之后,他一度认为自己学不会,找领导给其换一个工作。经过实施人员的鼓励、帮助,慢慢的他熟悉了使用方法,现在已经能胜任目前的工作。
六、该舍则舍:或许下面的描述与第五点可能相矛盾。就如之前的老工人,他真适应不了以后的工作,他的上级领导是该给他换工作,或者将其辞退,时代是进步的,为了集体的利益,只能是能者居之。但是我们要在充分执行第五点的前提下再做出第六点的决定,否则我们断然将其抛弃太“残忍”了。
实施很辛苦,但是通过实施我学到了很多。实施也让我知道什么该说、什么不该说。毕竟人是事故的,是有感情的。我们交流说话要慎重,不能因为我们的一句话让别人丢弃饭碗。实施还在继续,祝实施成功!!

1、在窗体上加载PrintBarManager控件

2、添加报表控件(如下图)



将设计好的报表加载到PrintBarManager控件上,代码如下:
