⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 extenddbgrid.htc

📁 HTC,demo WEB用于。 超大型
💻 HTC
📖 第 1 页 / 共 5 页
字号:
      <!--///////////////////////////////////////////////////////////////////////
      // 标题:DBGrid组件 ///////////////////////////////////////////////////
      // 时间:2004-01-10 ///////////////////////////////////////////////////
      ///////////////////////////////////////////////////////////////////////-->
      <public:component name="DBGrid" urn="DBGrid" lightweight=true>
      
      <public:property name="titleXML" get="getTitleXML" put="putTitleXML"/>//DBGrid标题数据源
      <public:property name="dataXML" get="getDataXML" put="putDataXML"/>//DBGrid数据源

      //grid组件整体位置、样式    
      <public:property name="top" value="10" put="putTop"/>
      <public:property name="left" value="10" put="putLeft"/>
      <public:property name="width" value="200" put="putWidth"/>
      <public:property name="height" value="250" put="putHeight"/>
      <public:property name="borderColor" value="#A6C4E1"/> 

      //标题行样式/
      <public:property name="hasTitle" value="true"/> // 是否有表头
      <public:property name="titleBgColor" value="#CAEAFF"/>
      <public:property name="titleForeColor" value="#000000"/>

      //数据表样式
      <public:property name="dataBgColor" value="#DDDDDD"/>//数据表背景色
      <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="#000000"/> //选择的cell或行的背景色
      <public:property name="selectForeColor" value="#ffffff"/> //选择的cell或行的前景色
      <public:property name="rows" get="getRows"/>//总行数
      <public:property name="cols" get="getCols"/>//总列数          
      <public:property name="PKColName" put="putPKColName"/>//每行的唯一标识列的列名
      
      //索引列样式      
      <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="#CAEAFF"/>//控制器背景色
      <public:property name="pageSize" put="putPageSize"/>//一页记录数
      <public:property name="curPage" get="getCurPage"/>//
      <public:property name="recordCount" get="getRecordCount"/>//记录总数
      
      <public:property name="hasAddButton" value="false"/>//是否有增加行按钮
      <public:property name="hasDelButton" value="false"/>//是否有删除行按钮 
      <public:property name="hasPrintButton" value="true"/>//是否有打印按钮 
      
      //是否显示用于统计的页脚行
      <public:property name="hasPageFooter" value="false"/>//是否含有页脚行

      //checkBox列和radio列
      <public:property name="hasCheckBox" value="false"/>//checkBox列
      <public:property name="hasRadio" value="false"/>//radio列
     	<public:property name="readOnly" put="putReadOnly" get="getReadOnly"/>//readOnly属性

      <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:event name="onModify" id="evtonModify"/>

      <public:method name="getCellText"/> //获得指定cell的内容
      <public:method name="getSelectedXMLRow"/> //返回当前
      <public:method name="getSelectedOrderXMLRow"/>
      <public:method name="getPaginationData"/>
      
      <public:method name="getValueByRPropName"/>//根据RPropName来获得指定行的列值
      <public:method name="delRow"/> //删除选定的行
      <public:method name="delCheckRow"/> //删除通过checkBox选中的行
      <public:method name="addRow"/>//添加新行  
      <public:method name="PrintOut"/>//打印
        
      <public:method name="getXMLDocCopy"/>//返回当前正在编辑的xml的拷贝  原saveXML
      <public:method name="getXMLFrgWithRoot"/>//返回一般需要使用的xml结果对象  原saveXML2
      <public:method name="getXMLStringNoRoot"/>//返回一般需要使用的xml结果对象,无root节点  原saveXML3

      <public:attach event="onclick" for="element" onevent="hideInput()"/>

      <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 oDivPageFooter = null; 
        var oTabPageFooter = null; 

        var oTitle = null;//标题对象
        var oTitleTable = null;//标题table对象
        var oTitleTR = null;//标题行tr对象
        var oTitleTD = null;//标题cell对象
        var oTitleInnerDiv = null;//标题行 cell 中的 div 对象,用来撑开td
        var objTA,objDT,objSEC,objCombo,objActiveEditor,objMaskEdit,objDatePicker,objQInput; //编辑组件以及记录当前活动的Editor

        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 oEditor;//当前输入框
        var oCurCell;//当前Cell
        var curContent;//当前cell中的内容

        var curPage = 1;//当前页
        var oPageSize = 20;//每页显示的记录数,默认为20条
        
        var arrCheckedRow = new Array();//用来保存用户通过checkBox选择行的__rowid
        var intRows = 0;
        
        var addFlag = false;
        var vReadOnly = false;

        var vTop = 10;
        var vLeft = 10;
        var vWidth = 200;
        var vHeight = 250;
        var boolInEditing = false;
        
        var intRecordCount = 0;//记录总数
        var intCursor = 1;//游标值
        var recordLimit = 100;//每次返回记录的条数
        var intCurLeftPosition = 1;//当前记录段首记录
        var intCurRightPosition = recordLimit;//当前记录段尾记录
        var booleanShowDataInOnePage = false;
        
        var oraclDateValue = "";
        
        function getCurPage(){
			return "";
        }
        
        function getRecordCount(){//记录总数
			return intRecordCount;
        }
       
        function getRequestData(startIndex){//获取业务请求数据
											//增加<Parameter Name="startIdx" Val="0"/>节点用来请求分页数据

			var vStartInde = 0;
			var objParametersNode;
			var objParameter;
			var objParameters;
			var objMsgBody;
			var objRequestRespliteData;
			var vUUID = __objGlobalCommonInst.UDDI;
			var strReturn;
			
			//测试无Parameters节点的情况
			//var testXML = "<?xml version='1.0'?><root UIDofSession='0' TimeStmp='' Tran='0'><MsgBody target='门急诊日志' action='查询列表' UIDofMesg='' Priority='0' Syn='0'><r aa='00' b='23'/></MsgBody></root>";
			
			objRequestRespliteData = __objGlobalCommonInst.getXMLDocumentInst();
			objRequestRespliteData.loadXML(__objGlobalCommonInst.getRequestData());
			if(!objRequestRespliteData || objRequestRespliteData.xml == "") return (-1);
			//objRequestRespliteData.loadXML(testXML);
		
			if(typeof(startIndex) != "undefined"){
				vStartInde = parseInt(startIndex);
			}			

			if(objRequestRespliteData){//缓存业务请求数据对象
				objParametersNode = objRequestRespliteData.selectSingleNode("//Parameters");

				if(objParametersNode){//存在parameters节点
					objParameter = objRequestRespliteData.createElement("Parameter");
					objParameter = objParametersNode.appendChild(objParameter);
					
				}else{//不存在Parameters节点
					objMsgBody = objRequestRespliteData.selectSingleNode("//MsgBody");
					objParameters = objRequestRespliteData.createElement("Parameters");
					objParameter = objRequestRespliteData.createElement("Parameter");
					objParameter = objParameters.appendChild(objParameter);
					objParameters = objMsgBody.appendChild(objParameters);
				}				
				objParameter.setAttribute("Name","startIdx");
				objParameter.setAttribute("Val",vStartInde);
			}			
			objRequestRespliteData.selectSingleNode("//root").setAttribute("UIDofSession",vUUID);
			strReturn = objRequestRespliteData.xml;
			strReturn = strReturn.replace(/^[\s\S]{0,}?>/g,"");
			strReturn = "<?xml version='1.0' encoding='GBK'?>" + strReturn;
			return strReturn;
        }
        
        function getPaginationData(startIndex){//分页请求并处理返回数据封装为如下格式
											   //<root><r .../><r .../><r .../></root>
			 var postXML;
			 var objResponseData;
			 var objReturnData;
			 
			 postXML = getRequestData(startIndex);
			 if(postXML == -1) return (-1);
			 objResponseData = __objGlobalCommonInst.post(postXML);
			 
			 if(objResponseData){//正常返回处理
				objReturnData = objResponseData.selectSingleNode("//root");		
				return objReturnData;
			 }else{
				return -1;
			 }
        }
      
        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 putDataXML(argXML){
//debugger;
          var objXML;
          var objNode;
          var intStartIdx;
          var intRecordLimit;
          var intRecordCount;
          
          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();

            getCopyDataXML();

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -