文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>百无聊赖的生活

百无聊赖的生活

时间:2010-09-28  来源:bzuit

程序又费了,前几天就费了。原来用asp.net 开发现在直接换java了。前台用flex,真是tmd郁闷,这次我费了好长时间写的代码全tmd白费了。还留下一个唯一可用的就是自动生成表格的类了,昨天改了改可以自动生成flex中的页面用的部分代码了。贴出来供大家参考一下吧!

自动生成flex页面的部分代码
 1  public string getFlexCode(Type type, int columnNum)
2 {
3 StringBuilder sb = new StringBuilder();
4 //只考虑类中定义的公共属性,不考虑继承属性
5 BindingFlags flags = BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly;
6 PropertyInfo[] properties = type.GetProperties(flags);
7 int count = 0;
8 sb.Append("<mx:Form width=\"100%\" height=\"100%\"> "+ Environment.NewLine);
9 sb.Append(" <mx:FormItem width=\"100%\" height=\"100%\">" + Environment.NewLine);
10 foreach (PropertyInfo f in properties)
11 {
12 if (count % columnNum == 0)
13 {
14 sb.Append(" <mx:HBox width=\"100%\">" + Environment.NewLine);
15 sb.Append(" <mx:Text text=\"" + f.Name + "\"/>");
16 }
17 else
18 sb.Append("<mx:Text text=\" " + f.Name + "\"/>");
19 sb.Append("<mx:TextInput id=\""+f.Name+"\" width=\"200\"/>");
20 if (count % columnNum == (columnNum - 1))
21 {
22 sb.Append(Environment.NewLine);
23 sb.Append(" </mx:HBox>" + Environment.NewLine);
24 }
25 else if (count == properties.Length-1)
26 {
27 sb.Append(Environment.NewLine);
28 sb.Append(" </mx:HBox>" + Environment.NewLine);
29 }
30 count++;
31 }
32 sb.Append(" </mx:FormItem>"+Environment.NewLine);
33 sb.Append("</mx:Form>" + Environment.NewLine);
34 //取值
35 sb.Append(Environment.NewLine + Environment.NewLine);
36 sb.Append("//取值" + Environment.NewLine);
37 foreach (PropertyInfo f in properties)
38 {
39 sb.Append("entity." + f.Name + "=this." + f.Name + ".text;" + Environment.NewLine);
40 }
41
42 //赋值
43 sb.Append(Environment.NewLine + Environment.NewLine);
44 sb.Append("//赋值" + Environment.NewLine);
45 foreach (PropertyInfo f in properties)
46 {
47 sb.Append("this." + f.Name + ".text=entity." + f.Name +";"+ Environment.NewLine);
48 }
49 return sb.ToString();
50 }
就两个参数一个是类型,另一个是一行中显示的数量,还能生成赋值和取值的语句,这个赋值和取值还没有测试过。

有一个County类和企业关联生成代码如下

生成代码
 1 <mx:Form width="100%" height="100%"> 
2 <mx:FormItem width="100%" height="100%">
3 <mx:HBox width="100%">
4 <mx:Text text="Id"/><mx:TextInput id="Id" width="200"/><mx:Text text=" Name"/><mx:TextInput id="Name" width="200"/>
5 </mx:HBox>
6 <mx:HBox width="100%">
7 <mx:Text text="Enterprise"/><mx:TextInput id="Enterprise" width="200"/>
8 </mx:HBox>
9 </mx:FormItem>
10 </mx:Form>
11
12
13 //取值
14 entity.Id=this.Id.text;
15 entity.Name=this.Name.text;
16 entity.Enterprise=this.Enterprise.text;
17
18
19 //赋值
20 this.Id.text=entity.Id;
21 this.Name.text=entity.Name;
22 this.Enterprise.text=entity.Enterprise;
23
还有些需要改进的地方,比如说id不用生成了,关联的类型也不用生成了,我认为至少可以减少一半的工作量!

大家可能觉得程序很熟悉,我是根据一篇他们的博客改写的,应该不算抄袭吧!!

 

估计这个项目我还要接触第四个报表工具iReport!!!!!!

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载