"; this.dt = null; this.col_list = null; this.field_name_list = null; this.get_field_list = function () { var dt = this.dt; var col_list = new Array(); var _field_list = new Array(); var str_template = this.str_template; for (var col = 0; col < dt.getFieldCount(); col++) { var field_name = dt.getFieldName(col); var target_name = "%" + field_name + "%"; if (str_template.indexOf(target_name) != -1 || str_template.indexOf("%" + field_name + "_Source%") != -1 || field_name == "NO_NEW_LINE" ) { _field_list.push(field_name); col_list.push(col); } } this.field_name_list = _field_list; this.col_list = col_list; } this.GetDataGrid = function () { var i, strnum, j, rowCounter; var dt = this.dt; var strBuf = new StringBuilder(); var row, start, buf, strField, p_row; var dt_row = 0, dt_col = 0; var start_row = 0, end_row = 0; var DataGrid = null; var col_list = this.col_list; var field_name_list = this.field_name_list; var iGuid_row = 0; var no_new_line_template = " %namespace%.%FormName%.%ELE_NAME% "; var title = ""; var prev_td = false; // no_new_line_template = no_new_line_template.ReplaceAll( if (dt.getValue("TABS") == "") { j = 0; rowCounter = 1; start_row = 0; end_row = dt.MaxRow(); DataGrid = this.str_template.split(this.str_split); row = DataGrid.length - 3; strBuf.Append("\n" + DataGrid[0]); start = 2; buf = DataGrid[1]; strBuf.Append("\n" + buf); var next_no_new_line = false; var no_td = ""; for (dt_row = start_row; dt_row < end_row; dt_row++) { buf = ""; p_row = j % row; no_td = dt.getValueByRow(dt_row, "NO_TD"); var ele_type = dt.getValueByRow(dt_row, "ELE_TYPE"); var no_head = dt.getValueByRow(dt_row, "NO_HEAD"); if (next_no_new_line) { if (no_td != "") { buf = (prev_td ? "" : "") + this.str_template_no_td; } else { if (dt.getValueByRow(dt_row, "WITH_HEAD") != "") buf = this.str_template_with_head; else buf = this.str_template_no_new_line; } } else { if (ele_type == "title") { buf = " %TITLE% "; } else { if (no_head != "") { buf = this.str_template_no_head ; } else { buf = DataGrid[start + p_row]; } } } // @@XX@@ 巨集之處理, COLSPAN // @@XX@@YY@@ --> XX : 用那個 buffer, YY : Colspan 數字 var marco_no = this.check_template_marco_no(buf); var colspan_no = this.check_template_colspan(buf); var colspan = ""; if (marco_no != -1) { if (colspan_no != -1) { colspan = "COLSPAN=" + colspan_no; buf = buf.ReplaceAll("@@" + marco_no + "@@" + colspan_no + "@@", DataGrid[marco_no]); } else buf = buf.ReplaceAll("@@" + marco_no + "@@", DataGrid[marco_no]); } // ------------------------------- if (buf.indexOf("%row%") != -1) buf = buf.ReplaceAll("%row%", dt_row+1); buf = buf.ReplaceAll("%COLSPAN%", colspan); var no_line_colspan = dt.getValueByRow(dt_row, "COLSPAN") ; if (no_line_colspan != "") buf = buf.ReplaceAll("bgcolor=\"#FFFFFF\" id=", " COLSPAN=" + no_line_colspan + " bgcolor=\"#FFFFFF\" id="); buf = buf.ReplaceAll("%colspan%", no_line_colspan); for (dt_col = 0; dt_col < col_list.length; dt_col++) { var FieldName = field_name_list[dt_col]; var _col = col_list[dt_col]; var _value = this.dt.getRowValueByCol(dt_row, _col); if (FieldName == "NO_NEW_LINE") { if (_value != "") { if (next_no_new_line == false) { // buf = buf.ReplaceAll("bgcolor=\"#FFFFFF\" id=", "colspan=\"2\" bgcolor=\"#FFFFFF\" id="); if (no_td != "") buf = buf.ReplaceAll("", ""); buf = buf.ReplaceAll("", ""); next_no_new_line = true; } } else { if (next_no_new_line) { if (no_td != "") buf += ""; buf += ""; next_no_new_line = false; } } } if (this.flg_show_html == 0) { try { _value = _value.ReplaceAll("&", "&"); _value = _value.ReplaceAll("<", "<"); _value = _value.ReplaceAll(">", ">"); _value = _value.ReplaceAll("\"", """); } catch (e) {} } if (this.flg_auto_breakline == 1) { try { _value = _value.ReplaceAll("\n", "
"); } catch (e) {} } if (buf.indexOf("%" + FieldName + "_Source%") != -1) { buf = buf.ReplaceAll("%" + FieldName + "_Source%", _value.Left(600).ReplaceAll("
", "\n")); } if (this.max_cols != -1 && _value.length > this.max_cols) { _value = _value.Left(this.max_cols) + " ..."; } // iGuid don't display if (_value == "iGuid" && FieldName == "NAME") { iGuid_row = 1; buf = buf.ReplaceAll("") < 0) { buf += ""; }; strBuf.Append("\n" + buf); iGuid_row = 0; } else { if (buf.indexOf("") == -1) prev_td = false; else prev_td = true; strBuf.Append("\n" + buf); j += 1; } } strBuf.Append("\n" + DataGrid[DataGrid.length-1]); } else { j = 0; rowCounter = 1; start_row = 0; end_row = dt.MaxRow(); DataGrid = this.str_template.split(this.str_split); row = DataGrid.length - 3; //strBuf.Append("\n" + DataGrid[0]); start = 2; // buf = DataGrid[1]; // strBuf.Append("\n" + buf); // 取得所有 TABS var tabs = TABS; var tabs_template = []; var tabs_html = []; var prefix = dt.getValue("TABS").split(".")[0]; strBuf.Append("\n" + DataGrid[1]); // 設定 Tab 的畫面 for (var i = 0 ; i < tabs.length; i++) { k = prefix + "." + tabs[i]; if (i == 0) tabs_template[k] = "
" + DataGrid[0] + "%HTML%
"; else tabs_template[k] = ""; tabs_html[k] = new StringBuilder(); } var next_no_new_line = false; var no_td = ""; var prev_td = false; for (dt_row = start_row; dt_row < end_row; dt_row++) { var tab_name = dt.getValueByRow(dt_row, "TABS"); buf = ""; p_row = j % row; no_td = dt.getValueByRow(dt_row, "NO_TD"); var ele_type = dt.getValueByRow(dt_row, "ELE_TYPE"); var no_head = dt.getValueByRow(dt_row, "NO_HEAD"); if (next_no_new_line) { if (no_td != "") { buf = (prev_td ? "" : "") + this.str_template_no_td; } else { if (dt.getValueByRow(dt_row, "WITH_HEAD") != "") buf = this.str_template_with_head; else buf = this.str_template_no_new_line; } } else { if (ele_type == "title") { buf = " %TITLE% "; } else if (no_head != "") { buf = this.str_template_no_head ; } else { buf = DataGrid[start + p_row]; } } // @@XX@@ 巨集之處理, COLSPAN // @@XX@@YY@@ --> XX : 用那個 buffer, YY : Colspan 數字 var marco_no = this.check_template_marco_no(buf); var colspan_no = this.check_template_colspan(buf); var colspan = ""; if (marco_no != -1) { if (colspan_no != -1) { colspan = "COLSPAN=" + colspan_no; buf = buf.ReplaceAll("@@" + marco_no + "@@" + colspan_no + "@@", DataGrid[marco_no]); } else buf = buf.ReplaceAll("@@" + marco_no + "@@", DataGrid[marco_no]); } // ------------------------------- if (buf.indexOf("%row%") != -1) buf = buf.ReplaceAll("%row%", dt_row+1); buf = buf.ReplaceAll("%COLSPAN%", colspan); var no_line_colspan = dt.getValueByRow(dt_row, "COLSPAN") ; if (no_line_colspan != "") buf = buf.ReplaceAll("bgcolor=\"#FFFFFF\" id=", " COLSPAN=" + no_line_colspan + " bgcolor=\"#FFFFFF\" id="); buf = buf.ReplaceAll("%colspan%", no_line_colspan); for (dt_col = 0; dt_col < col_list.length; dt_col++) { var FieldName = field_name_list[dt_col]; var _col = col_list[dt_col]; var _value = this.dt.getRowValueByCol(dt_row, _col); if (FieldName == "NO_NEW_LINE") { if (_value != "") { if (next_no_new_line == false) { // buf = buf.ReplaceAll("bgcolor=\"#FFFFFF\" id=", "colspan=\"2\" bgcolor=\"#FFFFFF\" id="); if (no_td != "") buf = buf.ReplaceAll("", ""); buf = buf.ReplaceAll("", ""); next_no_new_line = true; } } else { if (next_no_new_line) { if (no_td != "") buf += ""; buf += ""; next_no_new_line = false; } } } if (this.flg_show_html == 0) { try { _value = _value.ReplaceAll("&", "&"); _value = _value.ReplaceAll("<", "<"); _value = _value.ReplaceAll(">", ">"); _value = _value.ReplaceAll("\"", """); } catch (e) {} } if (this.flg_auto_breakline == 1) { try { _value = _value.ReplaceAll("\n", "
"); } catch (e) {} } if (buf.indexOf("%" + FieldName + "_Source%") != -1) { buf = buf.ReplaceAll("%" + FieldName + "_Source%", _value.Left(600).ReplaceAll("
", "\n")); } if (this.max_cols != -1 && _value.length > this.max_cols) { _value = _value.Left(this.max_cols) + " ..."; } // iGuid don't display if (_value == "iGuid" && FieldName == "NAME") { iGuid_row = 1; buf = buf.ReplaceAll("") < 0) { buf += ""; }; tabs_html[tab_name].Append("\n" + buf); iGuid_row = 0; } else { if (buf.indexOf("") == -1) prev_td = false; else prev_td = true; tabs_html[tab_name].Append("\n" + buf); j += 1; } } for (var i = 0 ; i < tabs.length; i++) { var k = prefix + "." + tabs[i] tabs_template[k] = tabs_template[k].ReplaceAll("%HTML%", tabs_html[k].ToString() + "\n" + DataGrid[DataGrid.length-1] ); strBuf.Append(tabs_template[k]); } // strBuf.Append("\n" + DataGrid[DataGrid.length-1]); } return(strBuf.ToString()); } this.check_template_marco_no = function (str_template) { if (str_template.indexOf("@@") != -1) { var t_array = str_template.split("@@"); if (t_array.length > 2) return (t_array[1]); else return (-1); } else return (-1); } this.check_template_colspan = function (str_template) { if (str_template.indexOf("@@") != -1) { var t_array = str_template.split("@@"); if (t_array.length > 3) return (t_array[2]); else return (-1); } else return (-1); } } -->