如何在jqgrid标头中包含组合框

CharanbabuKarnam

我在我的站点中使用jqgrid,并且在标题中需要一个组合框,该组合框可动态保存服务器中的值。

我试过,但徒劳。我可以使用硬编码的值获得下拉列表。该特定列的数据也是具有动态值的组合框。我已经看到filtertoolbar可以帮助我,但是应该仅对此列启用此功能,因为filterToolBar将启用对所有现有列的搜索。我不想要此功能。

这是到目前为止我尝试过的(https://jsfiddle.net/adgptkvj/33/)。

HTML:

<table id="grid"></table>
<div id="pager"></div>
<p>
  <button id="searchEmpty">Search Empty Status</button>
</p>
<div id='dialogDate' title="Dialog Title">
  <div style="float: left; width: 80%">
    <table>
      <tbody>
        <tr>
          <td>
            <label>From</label>
          </td>
          <td>
            <input id='from' type="text" alt='from' />
          </td>
        </tr>
        <tr>
          <td>
            <label>To</label>
          </td>
          <td>
            <input id='to' type="text" alt='to' />
          </td>
        </tr>
        <tr>
          <td>
            <input type="checkbox" />
          </td>
          <td>
            <label>Blank Records</label>
          </td>
        </tr>
      </tbody>
    </table>
  </div>
  <div style="float: right; width: 20%">
    <img src='assets/images/search.png' class='searchRem' alt='sea' />
  </div>
</div>

javascript:

var mydata = [{
  "packageNumber": 201506020001,
  "packageName": "hello",
  "packageData": [
    "String 1",
    "String 2",
    "String 3"
  ],
  "event": "Assigned",
  "currentdate": "06-Mar-2015 05:06",
  "colorcode": 5,
  "initiator": "NS",
  "owner": "BPS",
  "assignee": "DCB"
}, {
  "packageNumber": 201506020002,
  "packageName": "",
  "packageData": [
    "String 1",
    "String 2",
    "String 3"
  ],
  "event": "Assigned",
  "currentdate": "06-Jun-2015 05:06",
  "colorcode": 3,
  "initiator": "",
  "owner": "BPS",
  "assignee": "DCB"
}, {
  "packageNumber": 201506020003,
  "packageName": "",
  "packageData": [
    "String 1",
    "String 2",
    "String 3"
  ],
  "event": "Assigned",
  "currentdate": "06-Apr-2015 05:06",
  "colorcode": 5,
  "initiator": "NS",
  "owner": "BPS",
  "assignee": "DCB"
}, {
  "packageNumber": 201506020004,
  "packageName": "hello",
  "packageData": [
    "String 1",
    "String 2",
    "String 3"
  ],
  "event": "Assigned",
  "currentdate": "06-Apr-2015 05:06",
  "colorcode": 3,
  "initiator": "",
  "owner": "BPS",
  "assignee": "DCB"
}, {
  "packageNumber": 201506020005,
  "packageName": "hello",
  "packageData": [
    "String 1",
    "String 2",
    "String 3"
  ],
  "event": "Assigned",
  "currentdate": "06-Apr-2015 05:06",
  "colorcode": 3,
  "initiator": "NS",
  "owner": "BPS",
  "assignee": "DCB"
}];

$("#dialogDate").dialog({
  height: 'auto',
  autoOpen: false,
  resizable: false,
});
var grid = $("#grid");

$("#grid").jqGrid({
  datatype: "local",
  data: mydata,
  height: "auto",
  colNames: ['Inv No', '<img alt="search"/>currentdate', '<select><option>100</option></select>Number', 'Status'],
  colModel: [{
    name: 'packageNumber',
    key: true,
    width: 150,
    formatter: 'showlink',
    formatoptions: {
      baseLinkUrl: 'Combobox.jsp',
      addParam: '&menuindex=1',
      idName: 'packageNumber'
    }
  }, {
    name: 'currentdate',
    width: 150,
    align: "center",
    sorttype: 'date',
    formatter: 'date',
    formatoptions: {
      newformat: 'd-M-Y H:i',
      srcformat: 'd-M-Y H:i'
    }
  }, {
    name: 'colorcode',
    index: 'colorcode',
    width: 120,
    align: "right",
    formatter: 'select',
    edittype: 'select',
    editoptions: {
      value: '3:3;5:5',
      defaultValue: '3'
    },
    width: 80
  }, {
    name: 'initiator',
    width: 80
  }],
  caption: "Stack Overflow Example",
  rowNum: 10,
  pager: "#pager",
  rowNum: 10,
  rowList: [10, 20, 30],
  pager: '#pager2',
  sortname: 'packageNumber',
  viewrecords: true,
  autowidth: true,
  loadonce: true, // to enable client side sorting
  sortorder: "asc",
  "width": "1320",
  "height": "150",
  sortable: {
    options: {
      items: ">th:not(:has(#jqgh_list2_cb,#jqgh_list2_radio,#jqgh_list2_rn,#jqgh_list2_text),:hidden)"
    }
  },
  multiSort: true,
  rownumbers: true,
  multiselect: true,
  multiboxonly: true,
  //            multiGroup:true,
  viewsortcols: [true, "vertical", true],
  height: '150',
  caption: "Item Record",
  //                altRows:true,
  loadComplete: function() {
    $(".s-ico").addClass("wrapSortIcons");

  },
}).jqGrid("navGrid", "#pager", {
  edit: false,
  add: false,
  del: false
});
$(".ui-jqgrid img").click(function(e) {
  e.preventDefault();
  $("#dialogDate").data("id", this.parentElement.textContent);
  $("#dialogDate").dialog("open");
  event.stopImmediatePropagation();
});
$("#from").datetimepicker({
  controlType: myControl,
  showButtonPanel: true,
  changeYear: true,
  showTime: false,
  showMin: false,
  showHour: true,
  hourText: "Time",
  minuteText: "",
  dateFormat: "dd-M-yy",
  timeFormat: "hh:mm",
  closeText: "Cancel",
  buttonText: "From",
  currentText: "Today",
  showOn: "button",
  buttonImage: "assets/images/cal.png",
  buttonImageOnly: true,
  pick12HourFormat: false,
  onSelect: function(time, inst) {}
});
$('#to').datetimepicker({
  controlType: myControl,
  showButtonPanel: true,
  changeYear: true,
  showTime: false,
  showMin: false,
  showHour: true,
  hourText: "Time",
  minuteText: "",
  dateFormat: "dd-M-yy",
  timeFormat: "hh:mm",
  closeText: "Cancel",
  buttonText: "To",
  currentText: "Today",
  showOn: "button",
  pick12HourFormat: false,
  buttonImage: "assets/images/cal.png",
  buttonImageOnly: true,
  onSelect: function(time, inst) {}
});
var myControl = {
  create: function(tp_inst, obj, unit, val, min, max, step) {
    $('<input class="ui-timepicker-input" value="' + val + '" style="width:50%">')
      .appendTo(obj)
      .spinner({
        min: min,
        max: max,
        step: step,
        change: function(e, ui) { // key events
          // don't call if api was used and not key press
          if (e.originalEvent !== undefined)
            tp_inst._onTimeChange();
          tp_inst._onSelectHandler();
        },
        spin: function(e, ui) { // spin events
          tp_inst.control.value(tp_inst, obj, unit, ui.value);
          tp_inst._onTimeChange();
          tp_inst._onSelectHandler();
        }
      });
    return obj;
  },
  options: function(tp_inst, obj, unit, opts, val) {
    if (typeof(opts) == 'string' && val !== undefined)
      return obj.find('.ui-timepicker-input').spinner(opts, val);
    return obj.find('.ui-timepicker-input').spinner(opts);
  },
  value: function(tp_inst, obj, unit, val) {
    if (val !== undefined)
      return obj.find('.ui-timepicker-input').spinner('value', val);
    return obj.find('.ui-timepicker-input').spinner('value');
  }
};
initDateSearch = function(elem) {
  setTimeout(function() {
    $(elem).datetimepicker({
      controlType: myControl,
      showDropPanel: true,
      showButtonPanel: true,
      changeYear: true,
      showTime: false,
      showMin: false,
      showHour: true,
      hourText: "Time",
      minuteText: "",
      dateFormat: "dd-M-yy",
      timeFormat: "hh:mm",
      closeText: "Cancel",
      buttonText: "from",
      currentText: "Today",
      showOn: "button",
      buttonImage: "assets/images/cal.png",
      buttonImageOnly: true,
      onClose: function() {
        if (this.id.substr(0, 3) === "gs_") {
          setTimeout(function() {
            jQuery("#list2")[0].triggerToolbar();
          }, 50);
        } else {
          // to refresh the filter
          $(this).trigger('change');
        }
      },

    });
    $(".ui-datepicker").draggable({
      containment: "window"
    })
  }, 100);

}
$('.searchRem').click(function(e) {
  var colIdDate = $("#dialogDate").data("id");
  var isDateOpen = $("#dialogDate").dialog("isOpen");
  if (isDateOpen) {

    if (this.src.indexOf('search') > -1) {
      if (colIdDate == 'currentdate') {
        var fromSearch = $(this).closest('div.ui-dialog').find("input[type='text']")[0].value;
        var toSearch = $(this).closest('div.ui-dialog').find("input[type='text']")[1].value;
        alert(fromSearch + "jfhsjkdh" + toSearch + "i am here" + colIdDate);
        filterGridDate(fromSearch, toSearch, colIdDate);
      } else {

      }
    } else if (this.src.indexOf('remove') > -1) {
      filterGrid('', colIdDate);
    }
  }
  grid[0].p.search = fi.rules.length > 0;
  $.extend(grid[0].p.postData, {
    filters: JSON.stringify(fi)
  });
  grid.trigger("reloadGrid", [{
    page: 1
  }]);

  $("#dialogDate").dialog("close");
});

function filterGridDate(from, to, colId) {
  //  Prepare to pass a new search filter to our jqGrid
  var f = {
    groupOp: "AND",
    rules: []
  };
  f.rules.push({
    field: colId,
    op: "ge",
    data: from
  }, {
    field: colId,
    op: "le",
    data: to
  });
  grid[0].p.search = f.rules.length > 0;
  $.extend(grid[0].p.postData, {
    filters: JSON.stringify(f)
  });
  grid.trigger("reloadGrid", [{
    page: 1
  }]);
}
$("#searchEmpty").click(function() {
  var p = grid.jqGrid("getGridParam"); // grid[0].p
  p.search = true;
  p.postData.filters = {
    groupOp: "AND",
    rules: [{
      field: "initiator",
      op: "eq",
      data: ""
    }]
  };
  grid.trigger("reloadGrid", {
    page: 1
  });
});
$("#grid").on("jqGridSortCol", function(e, sortName, iCol, sortOrder) {
  $("table.ui-jqgrid-htable thead").remove("table#list2");
  alert("sortName=" + sortName + "\niCol=" + iCol + "\nsortOrder=" + sortOrder);
  if (sortName === "name") {
    alert(sortOrder);
    var ord = sortOrder;
    alert(ord);
  }
});
$('.wrapSortIcons').click(function(e) {
 // alert(111)
  $.extend(grid[0].p.multiSort, true);
  var sortgridParams = [];
  colId = this.parentElement.textContent;
  var sortOrd = "asc";
  for (var child = 0; child < this.children.length; child++) {
    if (this.children[child].className.indexOf('disabled') == -1) {
      sortOrd = $(this.children[child]).attr('sort');
    }
  }

  var colObj = {
    "columnId": "",
    "sortOrder": "asc"
  };
  colObj.columnId = colId;
  colObj.sortOrder = sortOrd;
  disableSorting(colId);
  multiCols.push(colObj);
  for (var i = 0; i < multiCols.length; i++) {
    sortgridParams.push({
      sortname: multiCols[i].columnId,
      sortorder: multiCols[i].sortOrder
    });

  }
  grid.jqGrid('sortGrid', sortgridParams).trigger('reloadGrid', [{
    page: 1
  }]);
  enableSorting(colId);
  e.preventDefault();
  e.stopImmediatePropagation();

});

CSS:

@CHARSET "ISO-8859-1";

/*
DATE PICKER time CSS
*/

.ui-timepicker-div .ui-widget-header {
  margin-bottom: 8px;
}

.ui-timepicker-div dl {
  text-align: left;
}

.ui-timepicker-div dl dt {
  float: left;
  clear: left;
  padding: 0 0 0 5px;
}

.ui-timepicker-div dl dd {
  margin: 0 10px 10px 40%;
}

.ui-timepicker-div td {
  font-size: 90%;
}

.ui-tpicker-grid-label {
  background: none;
  border: none;
  margin: 0;
  padding: 0;
}

.ui-timepicker-div .ui_tpicker_unit_hide {
  display: none;
}

.ui-timepicker-div .ui_tpicker_time .ui_tpicker_time_input {
  background: none;
  color: inherit;
  border: none;
  outline: none;
  border-bottom: solid 1px #555;
  width: 95%;
}

.ui-timepicker-div .ui_tpicker_time .ui_tpicker_time_input:focus {
  border-bottom-color: #aaa;
}

.ui-timepicker-rtl {
  direction: rtl;
}

.ui-timepicker-rtl dl {
  text-align: right;
  padding: 0 5px 0 0;
}

.ui-timepicker-rtl dl dt {
  float: right;
  clear: right;
}

.ui-timepicker-rtl dl dd {
  margin: 0 40% 10px 10px;
}


/* Shortened version style */

.ui-timepicker-div.ui-timepicker-oneLine {
  padding-right: 2px;
}

.ui-timepicker-div.ui-timepicker-oneLine .ui_tpicker_time,
.ui-timepicker-div.ui-timepicker-oneLine dt {
  display: none;
}

.ui-timepicker-div.ui-timepicker-oneLine .ui_tpicker_time_label {
  display: block;
  padding-top: 2px;
}

.ui-timepicker-div.ui-timepicker-oneLine dl {
  text-align: center;
  margin-bottom: 0;
}

.ui-timepicker-div.ui-timepicker-oneLine dl dd,
.ui-timepicker-div.ui-timepicker-oneLine dl dd > div {
  display: inline-block;
  margin: 0;
}

.ui-timepicker-div.ui-timepicker-oneLine dl dd.ui_tpicker_minute:before,
.ui-timepicker-div.ui-timepicker-oneLine dl dd.ui_tpicker_second:before {
  content: ':';
  display: inline-block;
}

.ui-timepicker-div.ui-timepicker-oneLine dl dd.ui_tpicker_millisec:before,
.ui-timepicker-div.ui-timepicker-oneLine dl dd.ui_tpicker_microsec:before {
  content: '.';
  display: inline-block;
}

.ui-timepicker-div.ui-timepicker-oneLine .ui_tpicker_unit_hide,
.ui-timepicker-div.ui-timepicker-oneLine .ui_tpicker_unit_hide:before {
  display: none;
}

#ui-datepicker-div {
  width: 185px;
}

.ui-spinner a.ui-spinner-button {
  display: inline-block;
  top: -18px;
  left: 12px;
  padding: 2px 0px 2px 2px;
}

a.ui-spinner-button.ui-spinner-down.ui-corner-br.ui-button.ui-widget.ui-state-default.ui-button-text-only {
  top: -18px;
  left: 13px;
}

.ui-datepicker-header {
  margin-top: 5px;
  background: rgb(234, 234, 234);
  height: 32px;
  border-bottom: 1px solid black;
  border-radius: 0;
}

.ui-datepicker-calendar .ui-state-default {
  background: none;
  border: none;
}

.ui-datepicker {
  border-radius: 2mm;
}

.ui-datepicker .ui-datepicker-next,
.ui-datepicker .ui-datepicker-prev {
  top: 7px;
}

.ui-datepicker .ui-datepicker-title {
  margin-top: 5px;
}

.ui-state-active,
.ui-widget-content .ui-state-active,
.ui-widget-header .ui-state-active {
  background: linear-gradient(to bottom, rgba(155, 195, 255, 1) 0%, rgba(155, 195, 255, 1) 100%);
  color: #000000;
}

.ui_tpicker_hour_slider>span,
.ui_tpicker_minute_slider>span {
  height: 20px;
  width: 30px;
}

.ui-timepicker-div dt,
.ui-timepicker-div dd {
  display: inline-block;
}

.ui-timepicker-div>dl {
  margin: 0;
}

.ui-timepicker-div dl dt {
  float: inherit;
  vertical-align: middle;
}

.ui-timepicker-div dl dd {
  margin: 0;
}

.ui-timepicker-div {
  margin-left: 17px;
  margin-top: 7px;
}
CharanbabuKarnam

我想出了解决问题的方法

在loadComplete事件中尝试初始化您的combobox插件。

loadComplete:function(){

$(select).combobox(); }

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在Dropzone上传请求的标头中包含CSRF令牌?

来自分类Dev

包含后如何在标头中添加内容?

来自分类Dev

如何在 Python 请求标头中包含列表

来自分类Dev

如何在标头中包含SOAP身份验证详细信息?

来自分类Dev

使用http协议调用Web服务时如何在标头中包含信息

来自分类Dev

如何在UICollectionViewController的标头中访问UISegmentedControl?

来自分类Dev

如何在UICollectionViewController的标头中访问UISegmentedControl?

来自分类Dev

如何在组合框中包含“全选”选项?

来自分类Dev

如何在标头中转义冒号-包括在YAML标头中

来自分类Dev

YII2:如何在gridview标头中添加ICON

来自分类Dev

如何在Objective-C标头中引用Swift枚举

来自分类Dev

如何在标头中初始化静态成员

来自分类Dev

如何在REST服务的请求标头中设置cookie

来自分类Dev

如何在通用标头中类型定义实现定义的结构?

来自分类Dev

JWT:如何在标头中发送授权?

来自分类Dev

如何在以指针作为参数的标头中声明函数?

来自分类Dev

如何在Apache POI标头中拆分行

来自分类Dev

如何在CSV标头中删除多余的空格

来自分类Dev

如何在xml文件的标头中定义json的类型

来自分类Dev

如何在RTP标头中添加其他值/参数

来自分类Dev

如何在python请求的标头中发送API密钥?

来自分类Dev

如何在您的条纹Webhook标头中获得条纹签名

来自分类Dev

如何在单个标头中发送多个变量?

来自分类Dev

如何在Magento标头中显示CMS静态块

来自分类Dev

如何在data.frame的标头中转换行

来自分类Dev

如何在ui-grid标头中显示括号?

来自分类Dev

Python3:如何在方法标头中定义异常?

来自分类Dev

如何在http标头中为令牌设置变量

来自分类Dev

如何从标头中删除标语?

Related 相关文章

  1. 1

    如何在Dropzone上传请求的标头中包含CSRF令牌?

  2. 2

    包含后如何在标头中添加内容?

  3. 3

    如何在 Python 请求标头中包含列表

  4. 4

    如何在标头中包含SOAP身份验证详细信息?

  5. 5

    使用http协议调用Web服务时如何在标头中包含信息

  6. 6

    如何在UICollectionViewController的标头中访问UISegmentedControl?

  7. 7

    如何在UICollectionViewController的标头中访问UISegmentedControl?

  8. 8

    如何在组合框中包含“全选”选项?

  9. 9

    如何在标头中转义冒号-包括在YAML标头中

  10. 10

    YII2:如何在gridview标头中添加ICON

  11. 11

    如何在Objective-C标头中引用Swift枚举

  12. 12

    如何在标头中初始化静态成员

  13. 13

    如何在REST服务的请求标头中设置cookie

  14. 14

    如何在通用标头中类型定义实现定义的结构?

  15. 15

    JWT:如何在标头中发送授权?

  16. 16

    如何在以指针作为参数的标头中声明函数?

  17. 17

    如何在Apache POI标头中拆分行

  18. 18

    如何在CSV标头中删除多余的空格

  19. 19

    如何在xml文件的标头中定义json的类型

  20. 20

    如何在RTP标头中添加其他值/参数

  21. 21

    如何在python请求的标头中发送API密钥?

  22. 22

    如何在您的条纹Webhook标头中获得条纹签名

  23. 23

    如何在单个标头中发送多个变量?

  24. 24

    如何在Magento标头中显示CMS静态块

  25. 25

    如何在data.frame的标头中转换行

  26. 26

    如何在ui-grid标头中显示括号?

  27. 27

    Python3:如何在方法标头中定义异常?

  28. 28

    如何在http标头中为令牌设置变量

  29. 29

    如何从标头中删除标语?

热门标签

归档