/// <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;
}