
你没有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中如何得到多行选中的值等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)