• winform代码生成器(三)


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

    接上面的两篇.

    用户有时对 从表的 排版不喜欢,可以因某些字太长,需要拉长一些,有些则需要隐藏.

    有什么办法呢? 我的思路是,把从表的 GridColumn信息保存到与自己名称对应的xml文件内,窗体初始化化时,读取保存的文件,初始化 从表 的布局.

    如果不知道怎么读写XML文件,我之前写了一篇 <XML文件的一些操作> 的文章,可以看下 .

    http://www.cnblogs.com/likehc/p/6691185.html

    说思路

    1. 写一个私有方法,读取从表的 GridColumn位置信息,当窗体触发Column 宽度变化,或是隐藏部位Column里,触发

    2.设置一个窗体内的 共公bool变量,当其值为true时,才可读写.(防止窗体加载时,出现不必要的XML读写)

    要用到的一些事件 从表显示的内容 放在了GridColumn gridView1 控件内,

    //位置改变,如顺序, 是否隐藏
    private void gridView1_ColumnPositionChanged(object sender, EventArgs e) 
    
    //宽度变化
    private void gridView1_ColumnWidthChanged(object sender, DevExpress.XtraGrid.Views.Base.ColumnEventArgs e)
    
    //初始化从表
    private void 窗体_Load(object sender, EventArgs e)
    
    //使XLM可读写(防止初始化时频繁读写)
    private void 窗体_Shown(object sender, EventArgs e)
    
    //使XLM不可写
    private void窗体_FormClosing(object sender, FormClosingEventArgs e)
    
    //上下调整 从表的位置
    private void SplitContainer_Panel2_ClientSizeChanged(object sender, EventArgs e)

    说思路:

    窗体初始化化时,读取指定目录中与自己名称相同的xml文件(如果没有则使用默认设置), 如下

    FixedPane 判断是否启用 手动设置功能,如果为false 则 不保存用户的设置

    Items 节点,存放 数据库的字段, VisibleIndex 显示顺序,如果为-1则不显示, Width为宽度

    PanelHeight 保存从表的高度,

    用户 修改了 字段的宽度,或隐藏/显示字段, 或修改从表高度,且FixedPane值为Enable,则会重写xml文件,保存现在的状态.

    如果不想保存 用户的设置, 把FixedPane 设为非Enable 或删除全部内容(不能删除xml文件)即可,

    <?xml version="1.0" encoding="utf-8"?>
    <Form>
      <FixedPane>Enable</FixedPane>
      <Items>
        <Titles FieldName="Id" VisibleIndex="2" Width="86" />
        <Titles FieldName="InnerId" VisibleIndex="0" Width="86" />
        <Titles FieldName="GoodsName" VisibleIndex="1" Width="86" />
        <Titles FieldName="Unit" VisibleIndex="3" Width="86" />
        <Titles FieldName="UnitPrice" VisibleIndex="4" Width="86" />
        <Titles FieldName="Number" VisibleIndex="5" Width="78" />
        <Titles FieldName="TotalPrice" VisibleIndex="6" Width="88" />
        <Titles FieldName="Remark" VisibleIndex="7" Width="88" />
        <Titles FieldName="IsDelete" VisibleIndex="-1" Width="98" />
      </Items>
      <PanelHeight>155</PanelHeight>
    </Form>

     

    最后把 .cs 里面的 方法 通过 Designer.cs 文件 绑定到相应的 事件上去.

     

  • 相关阅读:
    UML的相关基础知识
    easyui的datagrid、treegrid增加表头菜单,用于显示或隐藏列
    easyui datagrid load的时候,提交的时候多了name为数字的参数
    Easyui Dialog 设置初始位置
    投票系统的代码总结
    部门组织机构树的使用
    TCP连接客户端的方法
    播放M3U8的js代码
    JAVA的split的用法
    BOLB转word文件,和word文件转换BOLB
  • 原文地址:https://www.cnblogs.com/likehc/p/6729643.html
Copyright © 2020-2023  润新知