jQuery easyui的datagrid里的插入行insertRow怎么用

jQuery easyui的datagrid里的插入行insertRow怎么用,第1张

你没有easyui的API吗?

// 在第二行的位置插入一个新行

//index:要插入的行索引,如果该索引值未定义,则追加新行。

//row:行数据。

$('#dg')datagrid('insertRow',{

index: 1, // 索引从0开始

row: {

name: '新名称',

age: 30,

note: '新消息'

}

});

Datagrid中当你的行数据超过9999时,第一列的行号rownumber将会因为表格内容过长而导致无法显示全部数字,

这一点Easyui无法做到自适应 所以需要进行修改,这里扩展一个方法就行了。

$extend($fndatagridmethods, {

fixRownumber : function (jq) {

return jqeach(function () {

var panel = $(this)datagrid("getPanel");

//获取最后一行的number容器,并拷贝一份

var clone = $("datagrid-cell-rownumber", panel)last()clone();

//由于在某些浏览器里面,是不支持获取隐藏元素的宽度,所以取巧一下

clonecss({

"position" : "absolute",

left : -1000

})appendTo("body");

var width = clonewidth("auto")width();

//默认宽度是25,所以只有大于25的时候才进行fix

if (width > 25) {

//多加5个像素,保持一点边距

$("datagrid-header-rownumber,datagrid-cell-rownumber", panel)width(width + 5);

//修改了宽度之后,需要对容器进行重新计算,所以调用resize

$(this)datagrid("resize");

//一些清理工作

cloneremove();

clone = null;

} else {

//还原成默认状态

$("datagrid-header-rownumber,datagrid-cell-rownumber", panel)removeAttr("style");

}

});

}

});

说明:

Bookmark:设置或返回当前的行标签号

DataGrid1Columns("ProductID")CellText(DataGrid1Bookmark)

返回当前行中字段为‘ProductID’的值。

DataGrid

被连接到一个数据库后,可能想要监视用户单击了哪一个单元。可以使用

RowColChange

事件——而不是

Click

事件。

如;

Private

Sub

DataGrid1_RowColChange(LastRow

As

Variant,

ByVal

LastCol

As

Integer)

DebugPrint

_DataGrid1Columns("ProductID")CellValue(DataGrid1Bookmark)

End

Sub

通过这个方法就能获得用户点击的行的某个值。

利用一下方法可以控制datagrid每列的宽度;

Dim

c

As

Column

Set

c

=

DataGrid1ColumnsAdd(DataGrid1ColumnsCount)

With

c

Visible

=

True

Width

=

1000

Caption

=

"我的新列"

DataField

=

Adodc1RecordsetFields("ProductName")Name

Alignment

=

dbgRight

End

With

下面的代码将删除被单击的列。

Private

Sub

DataGrid1_HeadClick(ByVal

ColIndex

As

Integer)

DataGrid1ColumnsRemove

ColIndex

End

Sub

1:比如在项目中用到了datagrid。如果界面比较简单---只有一个datagrid只需要把它的属性fit 设置为true就能实现自动适应窗体。如果在datagrid上方还有其他div的话,div 就会把datagrid挤压到窗体的下方。如果datagrid有分页控件,分页控件就看不到了。这个时候就应该用 easyui-layout来分隔窗体来使具体的内容放在easyui-layout不同的部分。这样就能很好的解决自适应问题。

糟糕的写法

<div>查询条件</div>

<table class="easyui-datagrid" fit="true"></table>

正确的写法:

<div class="easyui-layout"data-options="fit:true">

<div data-options="region:'north'" style="height:100px">

<div>查询条件</div>

</div>

<div data-options="region:'center'">

<table class="easyui-datagrid" fit="true"></table>

</div>

</div>

2:基于body标签的easyui-layout当浏览器窗口大小改变时,easyui-layout可以根据窗口的大小来调整自己的大小基于div标签的easyui-layout如果想拥有上述功能必须设置easyui-layout的属性fit等于true

情形1:

<body class="easyui-layout">

<div data-options="region:'north'" style="height:100px">

<table id="part1"></table>

</div>

<div data-options="region:'center'">

<table id="part2"></table>

</div>

</div>

情形2:

<div class="easyui-layout"data-options="fit:true">

<div data-options="region:'north'" style="height:100px">

<table id="part1"></table>

</div>

<div data-options="region:'center'">

<table id="part2"></table>

</div>

</div>

3:在html中定义easyui时,下面两种写法是一样的。即easyui控件的属性可以写在dataoptions属性里,也可以把这些属性写到标签上。

写法1:

<div class="easyui-layout"data-options="fit:true">

<div data-options="region:'north'" style="height:100px">

<table id="part1"></table>

</div>

<div data-options="region:'center'">

<table id="part2"></table>

</div>

</div>

写法2:

<div class="easyui-layout"fit="true">

<div region="north"style="height:100px;">

<table id="part1"></table>

</div>

<div region="center">

<table id="part2"></table>

</div>

</div>

<head>

<meta name="generator" content="HTML Tidy, see ">

<meta >

我不会net。不知道net是如何拼接字符串的。

我做Php,我的解决办法是使用数组,因为php有将数组直接转化为json的方法。php的数组是万能的,兼顾了集合,map的功能。你就当做是map。

拼接完毕后,转成json。发回去就行了。

你的这个问题,你没有得到数据,你应该找为何没有数据,而不是格式的问题。。

以上就是关于jQuery easyui的datagrid里的插入行insertRow怎么用全部的内容,包括:jQuery easyui的datagrid里的插入行insertRow怎么用、easyui datagrid设置rownumber行号显示NaN怎么回事、easyui中如何得到多行选中的值等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9733916.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-01
下一篇2023-05-01

发表评论

登录后才能评论

评论列表(0条)

    保存