public override void InitializeExport(SmartSchool.API.PlugIn.Export.ExportWizard wizard) { var 匯出代碼 = new SmartSchool.API.PlugIn.VirtualRadioButton("匯出校系代碼", true); var 匯出校系名稱 = new SmartSchool.API.PlugIn.VirtualRadioButton("匯出校系名稱", false); wizard.Options.Add(匯出代碼); wizard.Options.Add(匯出校系名稱); int wishLimint = 5; List <分發設定> list = _AccessHelper.Select <分發設定>(); if (list.Count > 0) { wishLimint = list[0].志願上限; } for (int i = 1; i <= wishLimint; i++) { wizard.ExportableFields.Add("第" + i + "志願"); } wizard.PackageLimit = 200; wizard.ExportPackage += delegate(object sender, SmartSchool.API.PlugIn.Export.ExportPackageEventArgs e) { Dictionary <string, SmartSchool.API.PlugIn.RowData> dicRowDatas = new Dictionary <string, SmartSchool.API.PlugIn.RowData>(); foreach (var refStudentID in e.List) { SmartSchool.API.PlugIn.RowData rowData = new SmartSchool.API.PlugIn.RowData(); rowData.ID = refStudentID; dicRowDatas.Add(refStudentID, rowData); e.Items.Add(rowData); } FISCA.UDT.Condition.InCondition condition = new FISCA.UDT.Condition.InCondition(); condition.Field = "RefStudentID"; condition.Values.AddRange(e.List); var datas = _AccessHelper.Select <推甄學生資料>(condition); datas.取得志願組(); foreach (var item in datas) { int index = 1; foreach (var wish in item.志願組) { dicRowDatas[item.StudentRecord.ID].Add("第" + index + "志願", (wish.校系資料 == null ? "校系資料已遺失" : (匯出代碼.Checked ? wish.校系資料.代碼 : (wish.校系資料.校名 + " " + wish.校系資料.系名)))); index++; } } foreach (var item in dicRowDatas.Values) { for (int i = 1; i <= wishLimint; i++) { if (!item.ContainsKey("第" + i + "志願")) { item.Add("第" + i + "志願", ""); } } } }; }
public override void InitializeExport(SmartSchool.API.PlugIn.Export.ExportWizard wizard) { wizard.ExportableFields.AddRange("身分證號", "排名", "總分", "成績內容", "分發校系代碼", "分發學校", "分發科系", "確定分發結果", "組別", "梯次", "備註"); wizard.PackageLimit = 200; wizard.ExportPackage += delegate(object sender, SmartSchool.API.PlugIn.Export.ExportPackageEventArgs e) { FISCA.UDT.Condition.InCondition condition = new FISCA.UDT.Condition.InCondition(); condition.Field = "RefStudentID"; condition.Values.AddRange(e.List); var datas = _AccessHelper.Select <推甄學生資料>(condition); foreach (var refStudentID in e.List) { SmartSchool.API.PlugIn.RowData rowData = new SmartSchool.API.PlugIn.RowData(); rowData.ID = refStudentID; #region 寫入預設值 foreach (var field in e.ExportFields) { switch (field) { case "排名": rowData.Add(field, ""); break; case "總分": rowData.Add(field, ""); break; case "身分證號": rowData.Add(field, ""); break; case "成績內容": rowData.Add(field, ""); break; case "分發校系代碼": rowData.Add(field, ""); break; case "分發學校": rowData.Add(field, ""); break; case "分發科系": rowData.Add(field, ""); break; case "確定分發結果": rowData.Add(field, ""); break; case "組別": rowData.Add(field, ""); break; case "梯次": rowData.Add(field, ""); break; case "備註": rowData.Add(field, ""); break; } } #endregion foreach (var item in datas) { if (item.StudentRecord.ID == refStudentID) { #region 填入真值 foreach (var field in e.ExportFields) { switch (field) { case "排名": rowData[field] = "" + item.排名; break; case "總分": rowData[field] = "" + item.總分; break; case "身分證號": rowData[field] = item.StudentRecord.IDNumber; break; case "成績內容": rowData[field] = item.成績內容; break; case "分發校系代碼": rowData[field] = (item.分發結果 == null ? "" : item.分發結果.代碼); break; case "分發學校": rowData[field] = (item.分發結果 == null ? "" : item.分發結果.校名); break; case "分發科系": rowData[field] = (item.分發結果 == null ? "" : item.分發結果.系名); break; case "確定分發結果": rowData[field] = (item.確定分發結果 ? "是" : "否"); break; case "組別": rowData[field] = "" + item.組別; break; case "梯次": rowData[field] = "" + item.梯次; break; case "備註": rowData[field] = item.備註; break; } } #endregion break; } } e.Items.Add(rowData); } }; }