zoukankan      html  css  js  c++  java
  • 根据dataTable动态生成grid++report 的方法

    /// <summary>
    /// 生成grid++report模板
    /// </summary>
    /// <param name="dt"></param>
    /// <returns></returns>
    public int GenerateNurModel(DataTable dt)
    {

    BNuringList BNu=new BNuringList ();
    string NurName = dt.Rows[0]["NurName"].ToString();
    string NurName1 = dt.Rows[0]["NurName1"].ToString();
    string SpellNurName = GetSpellCode(NurName);
    string SpellNurName1 = GetSpellCode(NurName1);
    DataTable fielddt = BNu.FliterTree("-1",dt);
    string filepath = System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase;
    filepath += "H11111\rpt\" + SpellNurName + "(" + SpellNurName1 + ")" + ".grf";
    //@"F:" + NurName +"("+NurName1+")"+ ".grf"
    // MessageBox.Show(filepath);
    FileInfo myFile = new FileInfo(filepath);
    StreamWriter sw = myFile.CreateText();
    string str = "Object Report "
    + "Version='6.2.0.0' "
    + " Title='" + NurName + "' "
    + " PrintAsDesignPaper=F "
    + " Object Font "
    + " Name='宋体' "
    + " Size=105000,0 "
    + " Weight=400 "
    + " Charset=134 "
    + " End "
    + " Object Printer "
    + " Oriention=Landscape "
    + " LeftMargin=1 "
    + " TopMargin=2 "
    + " RightMargin=1 "
    + " BottomMargin=2 "
    + " End ";
    str += " Object DetailGrid "
    + " CenterView=T "
    + " AppendBlankRow=T "
    + " Object Recordset "
    + " ConnectionString='Provider=SQLOLEDB.1;Persist Security Info=True;User"
    + "ID=sa;Initial Catalog=HISONE_V5;Data Source=DPT0103;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Workstation ID=DPT0103;Use Encryption for Data=False;Tag with column collation when possible=False' ";
    //生成字段域
    str += "Items Field ";
    string ColumnContentCell = "";
    string ItemsColumn = "";
    string ColumnTitleCell = "";
    string paramater = "";
    for (int i = 0; i < fielddt.Rows.Count; i++)
    {
    string field = fielddt.Rows[i]["DataName"].ToString();
    str += "Item "
    + " Name='" + EnCode16ASI(field) + "' "//生成字段EnCode16ASI
    +" End ";

    ItemsColumn += "Item "
    +" Name='"+fielddt.Rows[i]["DataName"].ToString()+"' "
    +" Width=1 "
    +" End ";

    ColumnContentCell += "Item "
    + " Column='" + fielddt.Rows[i]["DataName"].ToString() + "' "
    //+ " DataField='" + fielddt.Rows[i]["DataName"].ToString() + "' "
    + " FreeCell=T "
    + "CanGrow=T "
    +"CanShrink=T "
    +"Items Control "
    +" Item "
    + " Type=FieldBox " //修改他的输入框类型 列如:PictureBox
    +" Name='PictureBox"+i+"' "
    +" Dock=Fill "
    + " DataField='" + EnCode16ASI(field) + "' "//绑定字段和列
    +" End "
    +"End "
    +" End ";

    }
    str += "End End ";
    str += "Items Column " + ItemsColumn + "End ";
    str += "Object ColumnContent "
    + "Height=0.73 "
    + " Object Font "
    + " Name='宋体' "
    + " Size=90000,0 "
    + " Weight=400 "
    + " Charset=134 "
    + " End "
    + " Items ColumnContentCell ";
    str += ColumnContentCell;
    str += "End End ";
    //生成多表头
    ColumnTitleCell += "Object ColumnTitle "
    + " Height=2.77813 "
    + " Object Font "
    + " Name='宋体' "
    + " Bold=T "
    + " Charset=134 "
    + " End ";

    ColumnTitleCell+= StringMulTitle(dt, 0);
    ColumnTitleCell += "End ";
    str += ColumnTitleCell;
    paramater+="Object PageHeader "
    + " Height=0 "
    + " End "
    + " Object PageFooter "
    + " Height=1.00542 "
    + " Items Control "
    + " Item "
    + " Type=RichTextBox "
    + " Name='RichTextBox1' "
    + " Left=16.5894 "
    + " Top=1.40229 "
    + " Width=2.4 "
    + " Height=0.5 "
    + " End "
    + " Item "
    + " Type=MemoBox "
    + " Name='MemoBox2' "
    + " Left=0.79375 "
    + " Top=0.211667 "
    + " Width=26.0085 "
    + " Height=0.608542 "
    + " TextAlign=MiddleCenter "
    + " Text='第 [#SystemVar(PageNumber)#] 页' "
    + " End "
    + " End "
    + "End "
    + "Items Parameter "
    + " Item "
    + " Name='病区' "
    + " End "
    + " Item "
    + " Name='床号' "
    + " End "
    + " Item "
    + " Name='姓名' "
    + " End "
    + " Item "
    + " Name='性别' "
    + " End "
    + " Item "
    + " Name='年龄' "
    + " End "
    + " Item "
    + " Name='住院号' "
    + " End "
    + " Item "
    + " Name='入院日期' "
    + " End "
    + " Item "
    + " Name='诊断' "
    + " End "
    + " Item "
    + " Name='科别' "
    + " End "
    + "End "
    + "Items ReportHeader "
    + " Item "
    + " Name='ReportHeader1' "
    + " Height=2.59292 "
    + " Items Control "
    + " Item "
    + " Type=MemoBox "
    + " Name='科别' "
    + " Top=1.5875 "
    + " Width=26.8023 "
    + " Height=1.00542 "
    + " Text='科别:[#科别#] 病区:[#病区#] 床号:[#床号#] 姓名:[#姓名#] 性别:[#性别#] 年龄:[#年龄#] 住院号:[#住院号#] 入院日期:[#入院日期#] 诊断:[#诊断#]' "
    + " End "
    + " Item "
    + " Type=MemoBox "
    + " Name='MemoBox1' "
    + " Dock=Top "
    + " Center=Horizontal "
    + " Height=1.5875 "
    + " Object Font "
    + " Name='宋体' "
    + " Size=157500,0 "
    + " Bold=T "
    + " Charset=134 "
    + " End "
    + " TextAlign=MiddleCenter "
    + " Text='"+NurName+"' "
    + " End "
    + " End "
    + " RepeatOnPage=T "
    + " End "
    + "End ";
    str += paramater;
    str += "End";
    sw.WriteLine(str);
    sw.Close();
    return 0;

    }

  • 相关阅读:
    自动登录网站
    爬取梨视频
    爬虫介绍,request模块和代理ip
    数据结构与算法
    CMDB的总结
    自动化运维模块
    linux命令补充
    centos7的目录结构,文件系统常用的命令,vim编辑器
    linux配置网卡文件,xshell链接服务,快照,克隆,修改主机名
    flask的请求扩展,错误处理,标签和过滤器,中间件以及cbv的写法
  • 原文地址:https://www.cnblogs.com/tanhu/p/7306620.html
Copyright © 2011-2022 走看看