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否则点击链接无效!

posted @ 2012-03-06 22:01 笨笨船博 阅读(137) 评论(0) 编辑
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上!

其中包含的一些详细的方法在下一节中给出!!!

posted @ 2012-03-06 21:58 笨笨船博 阅读(177) 评论(4) 编辑

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”;

posted @ 2012-03-05 21:54 笨笨船博 阅读(68) 评论(0) 编辑

瞄准实施切入点!

怎么样做?

实施前的准备!

怎么样做?

实施责任到人!

怎么样做?

数据保护意识!

怎么样做?

极端情况考虑!

怎么样做?

以上是小弟总结的问题,请大神回答!!

 

posted @ 2012-03-02 21:18 笨笨船博 阅读(28) 评论(0) 编辑

第一次做实施工作,思考了几点与大家分享!面对文化水平不高的软件使用者该怎么办?

一、了解软件使用人群的能力:船厂这个环境,尤其在中国这个环境下都是农民工居多,所以你讲的太专业必然不行。

二、信心+耐力:既然实施,别人就要懂你的软件,你做的东西就是从他们的日常工作中“抽象”而来的,或许以他们的能力一时半刻很难理解,但是只要细心就完全没有问题。

三、沟通:实施的工作,与应用商各部门的沟通再所难免,沟通这个环节我感觉很重要,管理类的软件一般不可能只有一个部门使用,部门与部门之间都可能存在联系,或许对某些部门来说用上了系统,他们的工作量会增加,但是这种工作量的增加是必不可少的。为了以后的工作更好做,某些牺牲是必要的。

四、说话技巧:这次实施以来最让我印象深刻的就是这说话技巧,这次实施时,跟我们接触的是一个施工队,他们是软件的第一使用者(这在中国的企业来说基本都这样,买软件的并不是第一使用者)。软件初次实施,什么基础工作都是由这些人来做,并且他们的文化水平不高,工作过程中错误再所难免。做过实施的都知道,在一个完全没有信息化概念的企业实施信息化,仅仅是基础工作,就是一个很庞大的工程。况且现在面对的还是几万张钢板。存在问题是要解决,他们作为软件的第一使用者很辛苦,我们不能因为一点点小错误就反映给他们的领导,领导嘛----不明真相的围观群众。最后受罪的还是这些工人,这反而不能有效的做好工作,适得其反,还会让这些第一使用者失去信息,还有就是在理清问题的时候,正确的对存在的问题做出评估,不可夸大问题,也不能隐瞒问题,这样都会给软件的实施以及后期的维护带来很多潜在的危险。

五、鼓励为主:针对软件的使用者来说,这次的使用对象是一些文化水平不高的使用者,PDA手持终端对他们来说是个新鲜、高科技。对有些人来说就会产生退缩,认为自己不能胜任。就拿现场的一个老工人来说,年龄已是我父母一般,管理仓库很多年,对仓库的很了解感情也很深,可是上了新系统之后,他一度认为自己学不会,找领导给其换一个工作。经过实施人员的鼓励、帮助,慢慢的他熟悉了使用方法,现在已经能胜任目前的工作。

六、该舍则舍:或许下面的描述与第五点可能相矛盾。就如之前的老工人,他真适应不了以后的工作,他的上级领导是该给他换工作,或者将其辞退,时代是进步的,为了集体的利益,只能是能者居之。但是我们要在充分执行第五点的前提下再做出第六点的决定,否则我们断然将其抛弃太“残忍”了。

实施很辛苦,但是通过实施我学到了很多。实施也让我知道什么该说、什么不该说。毕竟人是事故的,是有感情的。我们交流说话要慎重,不能因为我们的一句话让别人丢弃饭碗。实施还在继续,祝实施成功!!

 

 

 

posted @ 2012-03-01 21:06 笨笨船博 阅读(52) 评论(0) 编辑

 

1、在窗体上加载PrintBarManager控件

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

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

XtraReport1 xtrareport = new XtraReport1();      
this.printControl1.PrintingSystem =xtrareport.PrintingSystem;
xtrareport.CreateDocument();

 

 

posted @ 2012-02-19 09:39 笨笨船博 阅读(174) 评论(0) 编辑
摘要: 新年伊始 年后,上班第二个星期了!感觉自己还是不在状态,不知道该往哪个方向发展,短短的两周我看了WCF,看了Android,看了PDA,看了Java面向对象应用程序开发,看了很多很多,看的越多我反而越迷茫。不知路在何方,哪个方向才是适合我的呢?目前,从事的职位是船企ERP开发。船企信息化,在大多数船企中得不到重视,这样的不重视未来能光明吗?,未来的路我该何去何从呢?ERP,ERP什么叫ERP?ERP好像是管理方面的东西,或者说是管理+程序+执行,反正我是这样理解的。进入公司以来各种名词在耳边提及,其中最多的就是ERP,ERP真有那么大的重要性?在中国老板眼里,短期内能立即提高效益的东西才是好东阅读全文
posted @ 2012-02-11 15:31 笨笨船博 阅读(63) 评论(0) 编辑
摘要: 钢材是造船必不可少的物资。很好的管理船厂的钢材既有利于解放船厂的资金,又有利于管理好堆场。大家都知道钢材管理一直是船厂头疼的问题,怎样很好的管理钢材堆场呢? 目前很多民营船厂钢材堆场混乱,他们也在积极寻找更好的办法来进行钢材的管理。科学的管理方法,可以让船厂得到意想不到的收获。 很多企业利用射频技术来管理自己的仓库,自动盘点,自动出、入库,自动定位。这一系列的利用电脑完成的任务不仅很好的管理了仓库,同时还解放了劳动力。将船厂的钢材堆场与一般企业的仓库相比无非就是一些出库、入库、盘点、移动的操作。射频技术可以做到这些,可是由于射频技术的自身原因(水、钢铁射频会产生干扰),无法在船厂发挥其优势。我阅读全文
posted @ 2012-02-10 17:30 笨笨船博 阅读(89) 评论(0) 编辑
摘要: 软件实施就如同买新鞋,刚买的新鞋一开始总有些挤脚,时间长了就好了。钢材堆场管理程序的实施也是一样,我们在去实施软件之前,船厂的钢材堆场不可能是空的,怎样将新的流程与老的现状做个过渡是目前摆在我们面前的难题。对于一个没有很好管理的船厂,钢材堆场的材料积压也许很多,正是这些积压才导致他们的资金被冻结在里面,有效的消耗这部分钢材才能很好的解放资金。既然是条码管理,我们就必须把在库的没有贴条形码的钢材也用条形码管理起来,具体怎么做呢?1、通过现场调查预估钢材堆场的在库量。2、根据现有的生成条形码的规则打印出足够的条形码。3、将条形码贴在仓库钢材上。具体步骤:根据打印的条形码,生成一份含条形码的报表。如阅读全文
posted @ 2012-02-10 17:27 笨笨船博 阅读(69) 评论(0) 编辑
摘要: Google与你998年9月7日创立,经过十几年在搜索引擎方面的精耕细作,成为全球互联网巨头,尤其在地图搜索的应用更是引人注目。Google与2007年11月5日宣布基于Linux平台的开源手机操作系统,名称为Android,中文译为“机器人”。这意味着Google在移动互联网时代开始抢跑并领跑。Android是一个真正意义上的开源智能手机操作系统,该系统由底层的Linux、中间层的软件包和上层的Java应用程序组合而成。该系统一经推出立即受到了全球移动设备厂商和开发者得捧。结语:Google的成功是应为Google预见了未来互联网的核心所在,Android正好是搭上了一个顺风车,一站站驶向成阅读全文
posted @ 2012-02-10 10:16 笨笨船博 阅读(165) 评论(0) 编辑