• winform代码生成器(二)


    代码下载 地址 http://pan.baidu.com/s/1nuZjyat

    接着说 上文继续说,这次我们要生成主从表.

    此方用到了第三方的 控件 DevExpress 的Gridview .大家可去网上下载,安装后再开发.

    主从表的设计,我用的 是splitContainer1  控件,水平方向拆分,

    看看表 设计器文件, 发生了什么变化.与之前的button控件一样,也就那4步

    //1.创建 SplitContainer对象 
    private System.Windows.Forms.SplitContainer splitContainer1;
    
    //2.实例化button1 对象
    this.splitContainer1 = new System.Windows.Forms.SplitContainer();
                ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit(); //开始初始化化
    this.splitContainer1.SuspendLayout(); //挂起布局
    
    //3设置 SplitContainer的基本属性
    this.splitContainer1.Dock = System.Windows.Forms.DockStyle.Fill;
    this.splitContainer1.Location = new System.Drawing.Point(0, 0);
    this.splitContainer1.Name = "splitContainer1";
    this.splitContainer1.Orientation = System.Windows.Forms.Orientation.Horizontal;
    this.splitContainer1.Size = new System.Drawing.Size(526, 387);
    this.splitContainer1.SplitterDistance = 175;
    this.splitContainer1.TabIndex = 0;
    
    //把 SplitContainer绘制 到窗体
    this.Controls.Add(this.splitContainer1);
    
    ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit();//结束初始化化
    
    this.splitContainer1.ResumeLayout(false);  //恢复布局

    为什么没有 Panel1, Panel2呢? 那上因为 里面没有数据,主从表我是这样设计 的

    splitContainer1.Panel1 存放主表内容

    splitContainer1.Panel2 存放从表内容Devexpress的GridControl控件(DevExpress.XtraGrid.v15.2.dll) 

    我们向Panel1 加一个 button ,Panel2 加一个GridControl .

    我们看看变化

    splitContainer1 初始化化后,加入了 Panel1, Panel2

    this.splitContainer1.Panel1.SuspendLayout();

    this.splitContainer1.Panel2.SuspendLayout();

    然后把

    Button1 放入Panel1,

    GridControl1  放入Panel2

    最后 完成 splitContainer1 .

    好了,知道怎么工作的,那就做个窗体模板,往里放控件就好了.

    这时,我可以按 上篇文章 讲的那样,设计好 样子,然后把能提换的代码 用占位符,做出一个窗体模板,生成控件的代码也与上一篇类似.

    从表名称 就是在一张表的名称后面加上Details,约定哈,可以在 app.config 里修改.

    窗体上再放一个CheckBox ,用于判断对方是否 要创建主从表,也可能只想生成主表嘛

    如何 向从表 Title 如何生成呢? 也分4步

    //1.创建 ColumnTitle  对象 
    private DevExpress.XtraGrid.Columns.GridColumn   ColumnTitle;
    
    //2.实例化 ColumnTitle   
    
    this. ColumnTitle = new DevExpress.XtraGrid.Columns.GridColumn();
    
    //3.把  ColumnTitle  放入 gridView的 Columns 内
    this.gridView1.Columns.AddRange(new DevExpress.XtraGrid.Columns.GridColumn[] {
    this. ColumnTitle,
    }
    
    //4.设置 ColumnTitle  的属性
    this. ColumnTitle.FieldName = " TableData"; //绑定的字段 
    this. ColumnTitle.Name = "TotalPrice"; //标识该对象的名称
    this. ColumnTitle.Visible = true;
    this. ColumnTitle.Caption = "显示名称";

    就可以在窗体中显示啦

     

    然后 读取主从表,生成各自的 控件,放入相应的地方,

     

    App.config

    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
        <startup> 
            <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" />
        </startup>
      <appSettings>
        <add key="TimeFormat" value="yyyy-MM-dd"/>
        <!--时间格式化-->
        <add key="Details" value="Details"/>
        <!--从表后缀-->
    
      </appSettings>
    </configuration>

     

  • 相关阅读:
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    数据库作业5:SQL练习2
    数据库作业4:SQL练习1
    Linux的cp复制和mv移动命令的超详细介绍
    python数组添加整行或整列
    CentOS7下安装tomcat的超详细说明
  • 原文地址:https://www.cnblogs.com/likehc/p/6729606.html
Copyright © 2020-2023  润新知