请教关于jQuery EasyUI的easyui datagridd 数据行上右键问题

请教关于jQuery EasyUI的DataGrid 数据行上右键问题_百度知道
请教关于jQuery EasyUI的DataGrid 数据行上右键问题
//&#47:function( e, rowData){&#47, rowIndexonRowContextMenu
知道智能回答机器人
我是知道站内的人工智能,可高效智能地为您解答问题。很高兴为您服务。
其他类似问题
为您推荐:
jquery的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁一个奇怪的有关问题 jquery easyui datagrid 在IE下有时 无法接收到数据_一个算法题 ,倒数第4行,改成length=9就会报错, 8就不会完全正确,很奇怪?多谢_串口通信设置那有有关问题//为啥波特率不稳定,有时9600能收到数据、2400能收到数据__脚本百事通
稍等,加载中……
^_^请注意,有可能下面的2篇文章才是您想要的内容:
一个奇怪的有关问题 jquery easyui datagrid 在IE下有时 无法接收到数据
一个算法题 ,倒数第4行,改成length=9就会报错, 8就不会完全正确,很奇怪?多谢
串口通信设置那有有关问题//为啥波特率不稳定,有时9600能收到数据、2400能收到数据
一个奇怪的有关问题 jquery easyui datagrid 在IE下有时 无法接收到数据
一个奇怪的问题 jquery easyui datagrid 在IE下有时 无法接收到数据最近在页面布局的时候用到了jquery easyui datagrid ,发现有两个页面 中的datagrid在IE中有时无法接收到数据,有时又可以 服务端部分代码: List&Model_RsonsPerson& rsonsPersonList = new List&Model_RsonsPerson&();
rsonsPersonList = bllRsPerson.GetList(sqlText.ToString());
Dictionary&string, object& dict = new Dictionary&string, object&();
if (rsonsPersonList!=null)
dict.Add("total", rsonsPersonList.Count);
dict.Add("rows", rsonsPersonList);
dict.Add("total", 0);
dict.Add("rows", 0);
string temStr = JsonConvert.SerializeObject(dict);
context.Response.Write(temStr);
打断点发现可以执行到 Response.Write这句 tempstr的值为
{"total":2,"rows":[{"ID":8,"bumenId":216,"HotelId":15,"bumenName":"开发部"},{"ID":9,"bumenId":222,"HotelId":15,"bumenName":"测试部"}]}
格式也是对的,客户端的源代码:$.ajax({type:opts.method,url:opts.url,data:_5c7,dataType:"json",success:function(data){
_5c8(data);
}, error: function(XMLHttpRequest, textStatus, errorThrown) {
alert(XMLHttpRequest.responseText); // IE10和IE8下都为空字符串
alert(XMLHttpRequest.status);
// IE10 下为0
IE8下为12019
alert(XMLHttpRequest.readyState); IE10下为0 IE8下为4
alert(textStatus); IE10 和IE8下都为"error"
//_5c9.apply(this,arguments);
原来的源代码 注释掉了
在ie开发人员工具中的网络截图如下:
发出的ajax请求被终止了,请求正文和请求内容都为空, 试着设置了timeout属性也无效,这个请求之前没有其他的ajax请求,在火狐下是可以接收到数据的,实在找不出问题所在了,求指点------解决方案--------------------看样子是在构造请求或发送时出的错,用Post发送试一下
断点到ajax里面去查,要不就自己用js写一个------解决方案--------------------abort感觉是超时了被jquery自动取消请求了,和easyui没关系,你的动态页执行时间长不长?
什么版本的easyui
一个算法题 ,倒数第4行,改成length=9就会报错, 8就不会完全正确,很奇怪?多谢
求助一个算法题 ,倒数第4行,改成length=9就会报错, 8就不会完全正确,很奇怪?谢谢求助一个算法题 ,倒数第4行,改成length=9就会报错, 8就不会完全正确,很奇怪?谢谢public class Test14 {
public void replaseSpaces(char[] str, int length) {
int spaceCount = 0, newLength = 0, i = 0;
for(i = 0; i & i++) {
if (str[i] == ' ')
spaceCount++;
newLength = length + (spaceCount * 2);
str[newLength] = '\0';
for(i = length - 1; i &= 0; i--) {
if (str[i] == ' ') {
str[newLength - 1] = '0';
str[newLength - 2] = '2';
str[newLength - 3] = '%';
newLength = newLength - 3;
str[newLength - 1] = str[i];
newLength = newLength - 1;
System.out.println(str);
public static void main(String[] args) {
Test14 tst = new Test14();
char[] ch = {'t', 'h', 'e', ' ', 'd', 'o', 'g', 'k', 'm', 'c', ' ', ' '};
int length = 8; //改成9就会报错
tst.replaseSpaces(ch, length);
------解决方案--------------------改成10
newLength = length + (spaceCount * 2);----& 这个是12
str[newLength] = '\0';
str 中12 个元素 下标0开始 ,最大11
你 给下标 12 赋值,就越界了。------解决方案--------------------如果你只是想replace的话,完全可以用String.replace()方法,
java不是c,很多东西封装了能用就直接用.
public void replaseSpaces(char[] ch, int length) {
if (length & ch.length)
length = ch.
String s = new String(ch, 0, length).replace(" ", "%20");
System.out.println(s);
// 如果想返回char[] 把下面放开就可以了
// return s.toCharArray();
串口通信设置那有有关问题//为啥波特率不稳定,有时9600能收到数据、2400能收到数据
串口通信设置那有问题//为啥波特率不稳定,有时9600能收到数据、2400能收到数据
BOOL CBalanceCalculateDlg::InitPort()
m_HandleCom=CreateFile(_T("COM1"),//COM1口
GENERIC_READ|GENERIC_WRITE, //允许读和写
0, //独占方式
OPEN_EXISTING, //打开而不是创建
FILE_ATTRIBUTE_NORMAL|FILE_FLAG_OVERLAPPED, //重叠方式
if(m_HandleCom == (HANDLE)-1)
AfxMessageBox(_T("打开COM失败!"));
return FALSE;
SetupComm(m_HandleCom,100,100); //输入缓冲区和输出缓冲区的大小都是100
COMMTIMEOUTS TimeO
//设定读超时
TimeOuts.ReadIntervalTimeout=MAXDWORD;
TimeOuts.ReadTotalTimeoutMultiplier=0;
TimeOuts.ReadTotalTimeoutConstant=0;
//在读一次输入缓冲区的内容后读操作就立即5返回,
//而不管是否读入了要求的字符。
//设定写超时
TimeOuts.WriteTotalTimeoutMultiplier=100;
TimeOuts.WriteTotalTimeoutConstant=500;
SetCommTimeouts(m_HandleCom,&TimeOuts); //设置超时
GetCommState(m_HandleCom,&dcb);
dcb.BaudRate = 9600; //波特率为9600
dcb.ByteSize= 7 ; //每个字节有8位
dcb.Parity = NOPARITY; //无奇偶校验位
dcb.StopBits = TWOSTOPBITS; //两个停止位
SetCommState(m_HandleCom,&dcb);
PurgeComm(m_HandleCom,PURGE_TXCLEAR|PURGE_RXCLEAR);
return TRUE;
BOOL CBalanceCalculateDlg::OnReceivePort(CString& Data)
OVERLAPPED m_osR
memset(&m_osRead,0,sizeof(OVERLAPPED));
m_osRead.hEvent=CreateEvent(NULL,TRUE,FALSE,NULL);
COMSTAT ComS
DWORD dwErrorF
char str[12];
memset(str,'\0',12);
DWORD dwBytesRead=12;//读取的字节数
BOOL bReadS
ClearCommError(m_HandleCom,&dwErrorFlags,&ComStat);
dwBytesRead=min(dwBytesRead, (DWORD)ComStat.cbInQue);
bReadStat=ReadFile(m_HandleCom,str,
12,&dwBytesRead,&m_osRead);
if(!bReadStat)
if(GetLastError()==ERROR_IO_PENDING)
//GetLastError()函数返回ERROR_IO_PENDING,表明串口正在进行读操作
WaitForSingleObject(m_osRead.hEvent,500);
//使用WaitForSingleObject函数等待,直到读操作完成或延时已达到2秒钟
//当串口读操作进行完毕后,m_osRead的hEvent事件会变为有信号
if(dwBytesRead != 12)
return FALSE;
PurgeComm(m_HandleCom, PURGE_TXABORT|
PURGE_RXABORT|PURGE_TXCLEAR|PURGE_RXCLEAR);
return TRUE;
------解决方案--------------------
TimeOuts.ReadIntervalTimeout=MAXDWORD;
TimeOuts.ReadTotalTimeoutMultiplier=0;
TimeOuts.ReadTotalTimeoutConstant=0;
这样的设置使
读操作 立刻返回
, 就是说 根本就没读 !------解决方案--------------------
TimeOuts.ReadIntervalTimeout=MAXDWORD;
TimeOuts.ReadTotalTimeoutMultiplier=0;
TimeOuts.ReadTotalTimeoutConstant=0;
这样的设置使
读操作 立刻返回
, 就是说 根本就没读 !
A value of zero for both the ReadTotalTimeoutMultiplier and ReadTotalTimeoutConstant members indicates that total time-outs are not used for read operations.
LZ这个问题主要要看
dcb.BaudRate = 9600; //波特率为9600
dcb.ByteSize= 7 ; //每个字节有8位
dcb.Parity = NOPARITY; //无奇偶校验位
dcb.StopBits = TWOSTOPBITS; //两个停止位
SetCommState(m_HandleCom,&dcb);
设置是否和通信方的设置是否一致,不是你想怎么改就能怎么改
如果您想提高自己的技术水平,欢迎加入本站官方1号QQ群:&&,&&2号QQ群:,在群里结识技术精英和交流技术^_^
本站联系邮箱:请问关于jQuery EasyUI的DataGrid 数据行下右键有关问题 - JavaScript当前位置:& &&&请问关于jQuery EasyUI的DataGrid 数据行下右键有关请问关于jQuery EasyUI的DataGrid 数据行下右键有关问题&&网友分享于:&&浏览:224次请教关于jQuery EasyUI的DataGrid 数据行上右键问题本帖最后由 lishunwen0825 于
12:23:39 编辑
我想查看单行数据(如ID为20)的右键上获取该行的值,代码:
&script&type="text/javascript"&
$(function(){
$('#test').datagrid({
title:'DataGrid数据列表',
iconCls:'icon-grid',
collapsible:true,
closable:true,
nowrap:&false,
animate:true,
url:&'&%=rootPath%&data/getJobs',
idField:'id',
pagination:&true,
pageSize:20,
pageList:&[10,20,30,40,50,100],
onRowContextMenu:&onRowContextMenu,&//右键。[表头(tab)右键onHeaderContextMenu,树形(tree)右键onContextMenu]
rownumbers:&true,
singleSelect:&true,
columns:[[
{title:'',field:'ck',width:120,checkbox:true},
{field:'id',title:'岗位ID',width:80},
{field:'job_name',title:'岗位名称',width:80},
{field:'dat',title:'入职日期',width:80,align:'right'},
{field:'work_address',title:'工作地点',width:80},
{field:'salary',title:'薪资',width:80,align:'right'},
{field:'status',title:'状态',width:60},
onLoadSuccess:&function()&{
delete&$(this).datagrid('options').queryParams['id'];
右键菜单:
&div&id="mm"&class="easyui-menu"&style="width:120"&
&div&onClick="view()"&data-options="iconCls:'icon-search'"&查看&/div&
&div&onClick="add()"&data-options="iconCls:'icon-add'"&新增&/div&
&div&onClick="edit()"&data-options="iconCls:'icon-edit'"&编辑&/div&
&div&onClick="del()"&data-options="iconCls:'icon-remove'"&删除&/div&
&div&class="menu-sep"&&/div&
&div&onClick="print()"&data-options="iconCls:'icon-print'"&打印&/div&
&div&onClick="reload()"&data-options="iconCls:'icon-reload'"&刷新&/div&
javascript:
//添加右击菜单内容
function&onRowContextMenu(e,&rowIndex,&rowData){
&&&e.preventDefault();
&&&var&selected=$("#test").datagrid('getRows');&//获取所有行集合对象
&&&&selected[rowIndex].&//index为当前右键行的索引,指向当前行对象
&&&&$('#mm').menu('show',&{
&&&&&&&&left:e.pageX,
&&&&&&&&top:e.pageY
//查看详细
function&view(){
就是这里获取单行数据方法????&
treeGrid上倒是很好实现:
&&var&node&=&$('#datagrid').treegrid('getSelected');
&&if(node){
&&&&........
------解决方案--------------------var&datarow&=&$('#grid').datagrid('getSelections');
&&&&&&&&&&&&&&&&&&&&&&&&if&(datarow&==&null&------解决方案--------------------&datarow.length&&=&0)&{
&&&&&&&&&&&&&&&&&&&&&&&&&&&&showmsg("请选择要编辑的记录!");
&&&&&&&&&&&&&&&&&&&&&&&&&&&& 共&2&页:
12345678910
12345678910
12345678910 上一篇:下一篇:文章评论相关解决方案 12345678910 Copyright & &&版权所有创建datagrid
在页面上添加一个div或table标签,然后用jquery获取这个标签,并初始化一个datagrid。代码如下:
页面上的div标签:
&div id="magazineGrid"&
$('#magazineGrid').datagrid({
height: 340,
url: 'url',
method: 'POST',
queryParams: { 'id': id },
idField: '产品ID',
striped: true,
fitColumns: true,
singleSelect: false,
rownumbers: true,
pagination: false,
nowrap: false,
pageSize: 10,
pageList: [10, 20, 50, 100, 150, 200],
showFooter: true,
columns: [[
{ field: 'ck', checkbox: true },
{ field: '刊名', title: '刊名', width: 180, align: 'left' },
{ field: '类别', title: '类别', width: 150, align: 'left' },
{ field: '月份', title: '月份', width: 100, align: 'left' },
{ field: '期次', title: '期次', width: 100, align: 'left' },
{ field: '价格', title: '价格', width: 100, align: 'right' },
{ field: '订阅数', title: '订阅数', width: 100, align: 'right' },
{ field: '库存数', title: '库存数', width: 100, align: 'right' },
{ field: '邮寄方式', title: '邮寄方式', width: 80, align: 'left' },
{ field: '数量', title: '数量', width: 80, align: 'left',
type: 'numberbox',
options: {
precision: 0
onBeforeLoad: function (param) {
onLoadSuccess: function (data) {
onLoadError: function () {
onClickCell: function (rowIndex, field, value) {
ajax请求返回的数据格式
datagrid在创建完成后会根据url请求数据,这是通过ajax来完成的。服务器在完成请求处理后应返回带有rows属性的数据,如果用到分页,还需要有total属性:
var rst = new { total = iTotalCount, rows = entityList };
说到ajax请求,难免需要在请求的时候传入一些查询条件,我通常是在onBeforeLoad事件中添加查询条件的:
onBeforeLoad: function (param) {
var bId = $("#txtBId").val();
var AllSearchKey = $("#txtAllSearchKey").val();
param.bId = bId;
param.AllSearchKey = AllSearchK
如果要启用分页,在datagrid配置中,首先要加入如下配置:
pagination: true,
这样一来我们的datagrid底部就会出现一个分页工具栏。
这个时侯,datagrid在请求数据的时候会自动的添加分页的信息:
page:当前请求的页码
rows:每页要显示的行数
在服务器端获取到这两个参数值,然后通过获取数据库中的总数据行数来完成数据处理。
关于checkbox列
上面的js代码创建的datagrid本身已经添加了checkbox列,就是第一列。checkbox列将会自适应宽度。
{ field: 'ck', checkbox: true },
关于rownumber列
rownumber列的配置是在全局设置的,如果设置为true则会添加一列来显示行号。
rownumbers: true
行编辑功能的实现
datagrid本身提供了行编辑的功能。只需要两个步骤:
设置列的editor属性
手动触发编辑
第一步,我们需要在column配置中指明editor,editor有两个属性,type和options,有效的type字符串有:
text,textarea,checkbox,numberbox,validatebox,datebox,combobox,combotree
options则对应这些控件的具体配置,包括事件等。
type: 'numberbox',
options: {
precision: 0
如果不需要特殊的options配置,直接将type字符串赋给editor即可。
editor:'text'
第二步,我们需要监听datagrid的onRowClick事件,或者onCellClick事件,我更愿意监听onCellClick事件,可以根据点击不同的字段来进入编辑模式,并设置单元格编辑控件的focus。
onClickCell: function (rowIndex, field, value) {
beginEditing(rowIndex, field, value)
这里调用了beginEditing方法:
var editIndex =
var beginEditing = function (rowIndex, field, value) {
if (field != "数量")
if (rowIndex != editIndex) {
if (endEditing()) {
$('#magazineGrid').datagrid('beginEdit', rowIndex);
editIndex = rowI
var ed = $('#magazineGrid').datagrid('getEditor', { index: rowIndex, field: '数量' });
$(ed.target).focus().bind('blur', function () {
endEditing();
$('#magazineGrid').datagrid('selectRow', editIndex);
var endEditing = function () {
if (editIndex == undefined) { return true }
if ($('#magazineGrid').datagrid('validateRow', editIndex)) {
var ed = $('#magazineGrid').datagrid('getEditor', { index: editIndex, field: '数量' });
var number = $(ed.target).numberbox('getValue');
$('#magazineGrid').datagrid('getRows')[editIndex]['数量'] =
$('#magazineGrid').datagrid('endEdit', editIndex);
$('#magazineGrid').datagrid('selectRow', editIndex);
editIndex =
return true;
return false;
列格式化输出 formatter
在列的配种中设置formatter
formatter: function (value, row, index) {
if (row.user) {
return row.user.
使用工具栏
toolbar: [{
text: 'Add',
iconCls: 'icon-add',
handler: function () { alert('add') }
text: 'Cut',
iconCls: 'icon-cut',
handler: function () { alert('cut') }
text: 'Save',
iconCls: 'icon-save',
handler: function () { alert('save') }
使用CardView效果
cardView效果是这样的:
cardView的代码:
var cardview = $.extend({}, $.fn.datagrid.defaults.view, {
renderRow: function (target, fields, frozen, rowIndex, rowData) {
var cc = [];
cc.push('&td colspan=' + fields.length + ' style="padding:10px 5border:0;"&');
if (!frozen) {
var aa = rowData.itemid.split('-');
var img = 'shirt' + aa[1] + '.gif';
cc.push('&img src="images/' + img + '" style="width:150float:left"&');
cc.push('&div style="float:margin-left:20"&');
for (var i = 0; i & fields. i++) {
var copts = $(target).datagrid('getColumnOption', fields[i]);
cc.push('&p&&span class="c-label"&' + copts.title + ':&/span& ' + rowData[fields[i]] + '&/p&');
cc.push('&/div&');
cc.push('&/td&');
return cc.join('');
$(function () {
$('#tt').datagrid({
view: cardview
cardView其实是使用了datagrid的view配置,重写了其默认的renderRow方法。基于这种实现,我们可以显示更多样式的view。
阅读(...) 评论()jQuery EasyUI的DataGrid 数据行上右键菜单,并Check行
&script&type=&text/javascript&&$(function(){&&&&$('#dg').datagrid({&&&&&&&&title:'DataGrid',&&&&&&&&iconCls:'icon-grid',&&&&&&&&fit:true,&&&&&&&&collapsible:true,&&&&&&&&closable:true,&&&&&&&&nowrap:&false,&&&&&&&&animate:true,&&&&&&&&url:&'',&&&&&&&&idField:'id',&&&&&&&&pagination:&true,&&&&&&&&pageSize:20,&&&&&&&&pageList:&[20,30,50],&&&&&&&&onRowContextMenu:&onRowContextMenu,&//右键&&&&&&&&rownumbers:&true,&&&&&&&&singleSelect:&true,&&&&&&&&columns:[[& & & & & &&&&&&&&&]],&&&&&&&&onLoadSuccess:&function()&{&&&&&&&&&&&&delete&$(this).datagrid('options').queryParams['id'];&&&&&&&&}&&&&&&&&&&&&&});});//添加右击菜单内容function&onRowContextMenu(e,&rowIndex,&rowData){&&&e.preventDefault();&&&var&selected=$(&#dg&).datagrid('getRows');&//获取所有行集合对象&&&&selected[rowIndex].&//index为当前右键行的索引,指向当前行对象&&&&$('#rightMenu').menu('show',&{&&&&&&&&left:e.pageX,&&&&&&&&top:e.pageY&&&&});& $('#dg').datagrid('unselectAll');& $('#dg').datagrid('uncheckAll');& $('#dg').datagrid('checkRow', rowIndex);//该操作为选中当前行的CheckBox}&/script&&div&id=&rightMenu&&class=&easyui-menu&&style=&width:120&&&&&&&div&onClick=&view()&&data-options=&iconCls:'icon-search'&&查看&/div&&&&&&div&onClick=&add()&&data-options=&iconCls:'icon-add'&&新增&/div&&&&&&div&onClick=&edit()&&data-options=&iconCls:'icon-edit'&&编辑&/div&&&&&&div&onClick=&del()&&data-options=&iconCls:'icon-remove'&&删除&/div&&&&&&div&class=&menu-sep&&&/div&&&&&&div&onClick=&print()&&data-options=&iconCls:'icon-print'&&打印&/div&&&&&&div&onClick=&reload()&&data-options=&iconCls:'icon-reload'&&刷新&/div&&/div&
最新教程周点击榜
微信扫一扫

我要回帖

更多关于 easyui datagrid 分页 的文章

 

随机推荐