📄 flexgrid.htc
字号:
<!--///////////////////////////////////////////////////////////////////////
// 标题:FlexGrid组件 ///////////////////////////////////////////////////
// 时间:2004-01-10 ///////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////-->
<public:component name="FlexGrid" urn="FlexGrid">
<public:property name="titleXML" get="getTitleXML" put="putTitleXML" />//FlexGrid标题数据源
<public:property name="dataXML" get="getDataXML" put="putDataXML" />//FlexGrid数据源
//grid组件整体位置、样式
<public:property name="top" value="10" />
<public:property name="left" value="10" />
<public:property name="width" value="200" />
<public:property name="height" value="250" />
<public:property name="borderColor" value="#A6C4E1" />
//标题行样式/
<public:property name="hasTitle" value="true" /> // 是否有表头
<public:property name="titleBgColor" value="#CAEAFF" />
<public:property name="titleForeColor" value="#333333" />
//是否显示用于统计的页脚行
<public:property name="hasPageFooter" value="false" />//是否含有页脚行
//数据表样式
<public:property name="dataBgColor" value="#DBDBDB" />//数据表背景色
<public:property name="oddTRColor" value="#F3F8FC" /> //数据表奇数行背景色
<public:property name="evenTRColor" value="#E9F0F8" /> //数据表偶数行背景色
<public:property name="selectionMode" value="cell" put="putSelectionMode" />
<public:property name="tableRow" get="getTableRow" put="putTableRow" />//当前行
<public:property name="tableCol" get="getTableCol" put="putTableCol" />//当前列
<public:property name="selectBgColor" value="#DFF0CE" /> //选择的cell或行的背景色
<public:property name="selectForeColor" value="#FF6600" /> //选择的cell或行的前景色
<public:property name="rows" get="getRows" />//总行数
<public:property name="cols" get="getCols" />//总列数
<public:property name="PKColName" put="putPKColName" />//每行的唯一标识列的列名
<public:property name="mergeModel" put="putMerge" value="never" />//
<public:property name="mergeColNumber" />//
<public:method name="hasData"/>
//索引列样式
<public:property name="hasFixedCol" value="1" />//是否有索引列:0:无 1:有
<public:property name="fixedColForeColor" value="#000000" />//索引列cell前景色
<public:property name="fixedColBGColor" value="#CAEAFF" />//索引列cell背景色
<public:property name="fixedColAlign" value="center" />//索引列cell对齐方式
<public:property name="editMode" value="true" />//是否可以编辑
//是否有控制面板
<public:property name="hasController" value="true" />//是否有控制面板
<public:property name="controllerBgColor" value="#B3E0FF" />//控制器背景色
<public:property name="pageSize" put="putPageSize" />//一页记录数
//checkBox列和radio列
<public:property name="hasCheckBox" put="putCheckBox"/>//checkBox列
<public:property name="hasRadio" value="false" />//radio列
<public:property name="hasPrintButton" value="false" />//是否有打印按钮
<public:property name="hasTotalLine" put="putHasTotalLine"/>//是否含有合计行
<public:property name="init" put="initialize" />//组件初始化
<public:event name="onDrag" id="evtOnDrag" />
<public:event name="onClickCell" id="evtClickCell" />
<public:event name="onChange" id="evtOnChange" />
<public:method name="getCell" /> //获得指定cell
<public:method name="getSelectedXMLRow" /> //
<public:method name="getValueByRPropName" />//根据RPropName来获得指定行的列值
<public:method name="delRow" /> //删除选定的行
<public:method name="delCheckRow" /> //删除通过checkBox选中的行
<public:method name="addRow" />//添加新行
<public:method name="getStatDataFromGrid" />//获取用于统计图的node
<public:method name="getXMLDocCopy" />//返回当前正在编辑的xml的拷贝 原saveXML
<public:method name="getXMLFrgWithRoot" />//返回一般需要使用的xml结果对象 原saveXML2
<public:method name="getXMLStringNoRoot" />//返回一般需要使用的xml结果对象,无root节点 原saveXML3
<public:method name="setReportformTitle"/>
<public:method name="setReportformProducer"/>
<public:method name="setReportformDatetime"/>
<public:method name="getReportFormsPrintInfo"/>
<script language="JavaScript">
<!--
var oDataXML = null;//Table数据的XML对象
var objDeletedXMLFragement = null;//用来保存已经删除了的行
var oCopyDataXML = null;//Table数据的XML对象的拷贝
var oPreviousRowXMLData = null;//双击时用来保存当前行XML数据对象
var oTitleXML = null;//Title数据的XML对象
var oControl = null;//控制面板容器对象
var strConstIndexColID = "A4AEF377DC454B4D88B514028CDF2AC5";
var oTitle = null;//标题对象
var oTitleTable = null;//标题table对象
var oTitleTR = null;//标题行tr对象
var oTitleTD = null;//标题cell对象
var oTitleInnerDiv = null;//标题行 cell 中的 div 对象,用来撑开td
var oTBody = null;//内容所在容器对象
var oDataTable = null;//oTBody容器对象
var oTBodyTable = null;//内容table对象
var oTBodyTR = null;//内容tr对象
var oTBodyTD = null;//内容cell对象
var oFirstLineDiv = null;//第一行cell中的div对象,用来控制整个内容表的列宽
var vTableCol,vTableRow;//存储当前操作的cell
var vPreviousCol,vPreviousRow,vPreviousRowForXML;//存储上次操作的cell位置
var vSelectionMode = "row";//选中方式(默认为单元格选中)
var vPKColName = "";//用来唯一标识每一行的XML属性名
var allowResizeModle = true;//是否可以调整列宽
var vMouseStart,objSplitBar; //鼠标初始位置,当前活动splitbar
var bIsSelected = false;//单元格是否被选中
var objScrollTrack; //记录鼠标跟随选择的TD对象
var oSortBtn = null;//排序按钮
var curScrollLeftStatus = 0;//水平滚动条当前的scrollLeft
var curScrollTopStatus = 0;//垂直滚动条当前的scrollTop
var oCurCell;//当前Cell
var curContent;//当前cell中的内容
var curPage = 1;//当前页
var oPageSize = 20;//每页显示的记录数,默认为20条
var strTitleTableInnerXML;//...........................................................
var arrCheckedRow = new Array();//用来保存用户通过checkBox选择行的__rowid
var arrSortDiv = new Array();
var intRows = 0;
var addFlag = false;
var ifFirst = true;
var booleanHasTotalLine = false;//是否有合计行 - 默认:无
//////checkBox hzh 2005-7-14 add////
var objSelectedRowXMLFragement = null;
var booleanHasCheckBox = false;
var objArrSelectRowIdx = new Array();
var intFirstColIndex = 1;//
/////////////////////////////
function putHasTotalLine(argHasTotalLine){
booleanHasTotalLine = ( argHasTotalLine == "yes" ) ? true : false;
}
///////////////////////////////////////////////////
/////////以下方法为北京PHMS项目重写或新增//////////////////
//////////////////////////////////////////////////////
////////////报表设计////////////////////////////
/////////////////报表打印信息设置//////////////////////
var vReportformProducer = "";
var vReportformDatetime = "";
var vReportTitleTableInnerHTML = "";//报表表头数据
var vReportDataTableInnerHTML = "";//报表主体数据
var intColCount = 0;//总列数
/////////////////////////////////////////////
function setReportformTitle(argReportformTitle){
//
}
function setReportformProducer(argReportformProducer){
vReportformProducer = argReportformProducer;
}
function setReportformDatetime(argReportformDatetime){
vReportformDatetime = argReportformDatetime;
}
function getReportFormsPrintInfo(){//返回要打印的报表信息
intColCount = oTitleXML.selectNodes("/*/*/Col[not(@visible = 'false')]").length;
var vReportBottomTableInnerHTML = "<table vhinfo='bottom'><tr><td colSpan='" + ( intColCount - 1 ) + "'>" + vReportformProducer + "</td><td>" + vReportformDatetime + "</td></tr></table>";
var sContent = "<?xml version='1.0' encoding='gbk'?><root><table vhinfo='maintab'><tr><td><table vhinfo='body'><tr><td>" + vReportTitleTableInnerHTML + "</td></tr><tr><td>" + vReportDataTableInnerHTML + "</td></tr></table></td></tr><tr><td>"
+ vReportBottomTableInnerHTML + "</td></tr></table></root>";
__objGlobalCommonInst.postToExporter(sContent, ".xls");
}
////////////////////////////////////////
function putSelectionMode(arg){
this.vSelectionMode = arg;
}
function putPageSize(arg){
oPageSize = arg;
}
function putPKColName(argPKColName){
this.vPKColName = argPKColName;
}
function getDataXML(){//设置Data的DOMDocument object
return oDataXML;
}
function hasData(){
if(oDataXML){
return true;
}else{
return false;
}
}
function putDataXML(argXML){
var objXML;
var objNode;
initGlobalCommon();
objXML=inputXML(argXML);
if(objXML){
while(oDataXML && oDataXML.childNodes(0)){//释放资源
objNode = oDataXML.removeChild(oDataXML.childNodes(0));
objNode = null;
}
oDataXML = null;
delete oDataXML;
oDataXML = objXML;
if(oDataXML!=null) objDeletedXMLFragement = inputXML();
if(oDataTable){//..
getCopyDataXML();
getRows();
fillInTable();
updateData();
}
}else{
oDataXML = null;
}
}
function getTableRow(){
return vTableRow;
}
function putTableRow(argRow){
vTableRow = parseInt(argRow);
}
function getTableCol(){
return vTableCol;
}
function putTableCol(argCol){
vTableCol = parseInt(argCol);
}
function getTitleXML(){//设置标题的DOMDocument object
return oTitleXML;
}
function putTitleXML(argXML){
var oTitleFragement = null;
initGlobalCommon();
clear();
oTitleFragement = inputXML(argXML);
if(oTitleFragement){
oTitleXML = oTitleFragement;
}else{
oTitleXML = null;
}
if(arrSortDiv && arrSortDiv.length>0){
while(arrSortDiv.length > 0){
arrSortDiv.pop();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -