dtgrid 控件使用问题备注

  1. 服务端返回json类型数据,解析问题

    git 报告提交

    临时解决方案:

    1. 服务端MIME使用text/html 类型 返回普通json字符串;

    2. jquery.dtgrid.js  : line :240 在ajax的success回调函数中第一句加入验证

    3. $.ajax({
         type:'post',
         url:url,
         data:params,
         contentType: "application/x-www-form-urlencoded; charset=utf-8",
         beforeSend: function(xhr) {xhr.setRequestHeader("__REQUEST_TYPE", "AJAX_REQUEST");},
         success:function(pager){
            if(typeof pager === "string"){
               pager = $.parseJSON(pager);
            }
            //如果出错表示有可能是程序问题或高级查询方案配置有误
            if(!pager.isSuccess){
               $.fn.DtGrid.tools.toast($.fn.DtGrid.lang[dtGridReflectionObj.option.lang].errors.ajaxLoadError, 'error', 5000);
               dtGridReflectionObj.hideProcessBar();
               return;
            }
  2. 服务端view构建,

  3. public class DTGridView {
        /**
         * 用途:高级查询的查询参数合集,将由组件根据用户选择自行生成。<br/>
         */
        private List<String> advanceQueryConditions;
        /**
         * 用途:高级查询的排序参数合集,将由组件根据用户选择自行生成。<br/>
         */
        private List<String> advanceQuerySorts;
        /**
         * 用途:是否导出全部数据,将由组件根据用户选择自行处理。<br/>
         */
        private boolean exportAllData = false;
        /**
         * 用途:导出的列集合,将由组件根据用户选择自行处理。<br/>
         */
        private List<String> exportColumns;
        /**
         * 用途:导出的数据是否已经被处理。<br/>
         * 该属性为前后台的一个数据处理标识,经由resolution、数据格式化等操作完成处理的数据被视为已处理。<br/>
         */
        private boolean exportDataIsProcessed;
        /**
         * 用途:高级查询的查询参数合集,将由组件根据用户选择自行生成。<br/>
         */
        private String exportFileName;
        /**
         * 用途:导出的文件类型,将由组件根据用户选择自行处理。<br/>
         */
        private String exportType;
        /**
         * 用途:展示的数据结果集。<br/>
         */
        private List<Map<String, Object>> exhibitDatas;
        /**
         * 用途:导出的数据集合,将由组件根据用户选择自行生成,生成的导出数据均为处理后的数据。<br/>
         */
        private List<Map<String, Object>> exportDatas;
        /**
         * 用途:快速查询的参数合集,将由组件根据用户选择自行生成。<br/>
         */
        private Map<String, Object> fastQueryParameters;
        /**
         * 用途:用于判断前台的交互信息是否为导出的动作。<br/>
         */
        private boolean isExport;
        /**
         * 用途:数据是否加载成功,若查询SQL出现错误或高级查询中配置错误,则该返回值为false,正确查询则为true。<br/>
         */
        private boolean isSuccess;
        /**
         * 用途:当前页号。<br/>
         * 特殊说明:该参数可以手动修改。
         */
        private int nowPage;
        /**
         * 用途:当前查询的纪录总页数。 <br/>
         */
        private int pageCount;
        /**
         * 用途:每页的显示的记录条数。<br/>
         */
        private int pageSize;
        /**
         * 用途:自定义参数集合。该参数可通过Javascript手动设置,属性类型为Object对象。<br/>
         * 可以通过Javascript设置参数,设置完成后通过服务器端封装的Pager对象访问对象中的parameters属性即可获得对应参数集合,<br/>
         * 该集合对应Java服务器为Map对象。
         */
        private Map<String, Object> parameters;
        /**
         * 用途:当前查询的纪录总数。<br/>
         */
        private int recordCount;
        /**
         * 用途:开始的记录号。<br/>
         */
        private int startRecord;
    
    
        /**
         * 默认初始化数据
         */
        public DTGridView() {
            this.advanceQueryConditions = Lists.newArrayList();
            this.advanceQuerySorts = Lists.newArrayList();
            this.exportAllData = false;
            this.exportColumns = Lists.newArrayList();
            this.exportDataIsProcessed = false;
            this.exportFileName = "exportfilename";
            this.exportType = "";
            this.exhibitDatas = Lists.newArrayList();
            this.exportDatas = Lists.newArrayList();
            this.fastQueryParameters = Maps.newHashMap();
            this.isExport = false;
            this.isSuccess = false;
            this.nowPage = 1;
            this.pageCount = 0;
            this.pageSize = 0;
            this.parameters = Maps.newHashMap();
            this.recordCount = 0;
            this.startRecord = 0;
        }
    
    
        public List<String> getAdvanceQueryConditions() {
            return advanceQueryConditions;
        }
    
    
        public void setAdvanceQueryConditions(List<String> advanceQueryConditions) {
            this.advanceQueryConditions = advanceQueryConditions;
        }
    
    
        public List<String> getAdvanceQuerySorts() {
            return advanceQuerySorts;
        }
    
    
        public void setAdvanceQuerySorts(List<String> advanceQuerySorts) {
            this.advanceQuerySorts = advanceQuerySorts;
        }
    
    
        public boolean getExportAllData() {
            return exportAllData;
        }
    
    
        public void setExportAllData(boolean exportAllData) {
            this.exportAllData = exportAllData;
        }
    
    
        public List<String> getExportColumns() {
            return exportColumns;
        }
    
    
        public void setExportColumns(List<String> exportColumns) {
            this.exportColumns = exportColumns;
        }
    
    
        public boolean getExportDataIsProcessed() {
            return exportDataIsProcessed;
        }
    
    
        public void setExportDataIsProcessed(boolean exportDataIsProcessed) {
            this.exportDataIsProcessed = exportDataIsProcessed;
        }
    
    
        public String getExportFileName() {
            return exportFileName;
        }
    
    
        public void setExportFileName(String exportFileName) {
            this.exportFileName = exportFileName;
        }
    
    
        public String getExportType() {
            return exportType;
        }
    
    
        public void setExportType(String exportType) {
            this.exportType = exportType;
        }
    
    
        public List<Map<String, Object>> getExhibitDatas() {
            return exhibitDatas;
        }
    
    
        public void setExhibitDatas(List<Map<String, Object>> exhibitDatas) {
            this.exhibitDatas = exhibitDatas;
        }
    
    
        public List<Map<String, Object>> getExportDatas() {
            return exportDatas;
        }
    
    
        public void setExportDatas(List<Map<String, Object>> exportDatas) {
            this.exportDatas = exportDatas;
        }
    
    
        public Map<String, Object> getFastQueryParameters() {
            return fastQueryParameters;
        }
    
    
        public void setFastQueryParameters(Map<String, Object> fastQueryParameters) {
            this.fastQueryParameters = fastQueryParameters;
        }
    
    
        /**
         * @WARN 注意使用idea 根据属性生成getter setter时,
         * boolean值类型的方法名称,ide生成getExport,实际变量名isExport,应生成getIsExport
         * @return
         */
        public boolean getIsExport() {
            return isExport;
        }
    
    
        public void setIsExport(boolean isExport) {
            this.isExport = isExport;
        }
    
        /**
         * @WARN 注意使用idea 根据属性生成getter setter时,
         * boolean值类型的方法名称,ide生成getSuccess,实际变量名IsSuccess,应生成getIsSuccess
         * @return
         */
        public boolean getIsSuccess() {
            return isSuccess;
        }
    
    
        public void setIsSuccess(boolean isSuccess) {
            this.isSuccess = isSuccess;
        }
    
    
        public int getNowPage() {
            return nowPage;
        }
    
    
        public void setNowPage(int nowPage) {
            this.nowPage = nowPage;
        }
    
    
        public int getPageCount() {
            return pageCount;
        }
    
    
        public void setPageCount(int pageCount) {
            this.pageCount = pageCount;
        }
    
    
        public int getPageSize() {
            return pageSize;
        }
    
    
        public void setPageSize(int pageSize) {
            this.pageSize = pageSize;
        }
    
    
        public Map<String, Object> getParameters() {
            return parameters;
        }
    
    
        public void setParameters(Map<String, Object> parameters) {
            this.parameters = parameters;
        }
    
    
        public int getRecordCount() {
            return recordCount;
        }
    
    
        public void setRecordCount(int recordCount) {
            this.recordCount = recordCount;
        }
    
    
        public int getStartRecord() {
            return startRecord;
        }
    
    
        public void setStartRecord(int startRecord) {
            this.startRecord = startRecord;
        }



你可能感兴趣的:(dtgrid 控件使用问题备注)