grid.getChanges 怎么获取不取Grid的修改数据,一点没反应

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了grid.getChanges 怎么获取不取Grid的修改数据,一点没反应相关的知识,希望对你有一定的参考价值。

你看标准的使用getChanges方法的示例:

<body>
<h1>CellEdit 单元格编辑</h1>

<div style="width:800px;">
<div class="mini-toolbar" style="border-bottom:0;padding:0px;">
<table style="width:100%;">
<tr>
<td style="width:100%;">
<a class="mini-button" iconCls="icon-add" onclick="addRow()" plain="true" tooltip="增加...">增加</a>
<a class="mini-button" iconCls="icon-remove" onclick="removeRow()" plain="true">删除</a>
<span class="separator"></span>
<a class="mini-button" iconCls="icon-save" onclick="saveData()" plain="true">保存</a>
</td>
<td style="white-space:nowrap;">
<input id="key" class="mini-textbox" emptyText="请输入姓名" style="width:150px;" onenter="onKeyEnter"/>
<a class="mini-button" onclick="search()">查询</a>
</td>
</tr>
</table>
</div>
</div>
<div id="datagrid1" class="mini-datagrid" style="width:800px;height:280px;"
url="../data/AjaxService.aspx?method=SearchEmployees" idField="id"
allowResize="true" pageSize="20"
allowCellEdit="true" allowCellSelect="true" multiSelect="true"
editNextOnEnterKey="true" editNextRowCell="true"
>
<div property="columns">
<div type="indexcolumn"></div>
<div type="checkcolumn"></div>
<div name="LoginName" field="loginname" headerAlign="center" allowSort="true" width="150" >员工帐号
<input property="editor" class="mini-textbox" style="width:100%;" minWidth="200" />
</div>
<div field="age" width="100" allowSort="true" >年龄
<input property="editor" class="mini-spinner" minValue="0" maxValue="200" value="25" style="width:100%;"/>
</div>
<div name="birthday" field="birthday" width="100" allowSort="true" dateFormat="yyyy-MM-dd">出生日期
<input property="editor" class="mini-datepicker" style="width:100%;"/>
</div>
<div field="remarks" width="120" headerAlign="center" allowSort="true">备注
<input property="editor" class="mini-textarea" style="width:200px;" minWidth="200" minHeight="50"/>
</div>
<!--ComboBox:本地数据-->
<div type="comboboxcolumn" autoShowPopup="true" name="gender" field="gender" width="100" allowSort="true" align="center" headerAlign="center">性别
<input property="editor" class="mini-combobox" style="width:100%;" data="Genders" />
</div>
<!--ComboBox:远程数据-->
<div type="comboboxcolumn" field="country" width="100" headerAlign="center" >国家
<input property="editor" class="mini-combobox" style="width:100%;" url="../data/countrys.txt" />
</div>
<div type="checkboxcolumn" field="married" trueValue="1" falseValue="0" width="60" headerAlign="center">婚否</div>
</div>
</div>
<script type="text/javascript">

var Genders = [ id: 1, text: '男' , id: 2, text: '女'];

mini.parse();

var grid = mini.get("datagrid1");
grid.load();

//////////////////////////////////////////////////////

function search()
var key = mini.get("key").getValue();

grid.load( key: key );


function onKeyEnter(e)
search();


function addRow()
var newRow = name: "New Row" ;
grid.addRow(newRow, 0);

grid.beginEditCell(newRow, "LoginName");

function removeRow()
var rows = grid.getSelecteds();
if (rows.length > 0)
grid.removeRows(rows, true);


function saveData()

var data = grid.getChanges();
var json = mini.encode(data);

grid.loading("保存中,请稍后......");
$.ajax(
url: "../data/AjaxService.aspx?method=SaveEmployees",
data: data: json ,
type: "post",
success: function (text)
grid.reload();
,
error: function (jqXHR, textStatus, errorThrown)
alert(jqXHR.responseText);

);


grid.on("celleditenter", function (e)
var index = grid.indexOf(e.record);
if (index == grid.getData().length - 1)
var row = ;
grid.addRow(row);

);

</script>

<div class="description">
<h3>Description</h3>
<ul>
<li>方向键导航单元格</li>
<li>按回车键进入编辑</li>
<li>按ESC键取消编辑</li>
<li>按Tab键进入下一个单元格编辑</li>
<li>editNextOnEnterKey="true"后,按回车键进入下一个单元格编辑</li>
</ul>
</div>
</body>

当你对表格进行addRow/removeRow/updateRow处理时,才能获取到修改后的数据。
参考技术A Data(data) 我都说了是通过loadData加载新的数据, 真服了你了,还有你那个双击行的方法要不就写在 外面,要不就写在grid的listeners,写在那算什么东西

树莓派不取 SD 卡更新 kernel 和 dtb

前言

现在很多嵌入式开发板,为了节省 Flash 成本,往往设计成通过 SD 卡启动。
拿到开发板后,编译出系统镜像,在主机上通过读卡器烧录镜像,插回开发板,启动。
在调试内核或设备树时,往往需要频繁更新 zImage 或 dtb 文件。如果是通过烧写整个镜像的方式更新,就比较麻烦且耗时了。
通常,我们可以通过 uboot 更新 zImage 和 dtb。
今天,我们介绍另外一种方式。

挂载

原理其实很简单,就是将 zImage 和 dtb 所在的分区挂载到系统目录,然后替换其中文件。
以树莓派为例,

# ls /dev/mmcblk0*
/dev/mmcblk0    /dev/mmcblk0p1  /dev/mmcblk0p2

通过 ls /dev/mmcblk0* 列出 SD 卡分区,mmcblk0 代表 SD 卡,mmcblk0p1 是 SD 卡第一个分区,mmcblk0p2 是 SD 卡第二个分区。
一般 SD 会被划分成 3 部分,分别用于存储 bootloader、kernel(和 dtb)、rootfs。其中,bootloader 所在部分不需要分区,直接原始数据写进去,自然也没有文件系统。而 kernel、rootfs 是需要分区的,也就是上面看到的 mmcblk0p1、mmcblk0p2。
所以,我们想要替换 kernel 和 dtb,只要想办法读取 mmcblk0p1 就好了。什么办法呢?那就是将该分区挂载到文件系统的某个目录。

# mkdir kernel
# mount /dev/mmcblk0p1 kernel/

然后将准备好的 zImage 和 dtb 文件(可以通过 tftp 从主机下载)拷贝到挂载目录就可以了。

# ls kernel/
System Volume Information  config.txt
bcm2710-rpi-3-b-plus.dtb   fixup.dat
bcm2710-rpi-3-b.dtb        overlays
bcm2710-rpi-cm3.dtb        start.elf
bootcode.bin               zImage
cmdline.txt
# cp zImage kernel/
# cp bcm2710-rpi-3-b-plus.dtb kernel/

拷贝完成后同步一下,然后重启就行了

# sync
# reboot

以上是关于grid.getChanges 怎么获取不取Grid的修改数据,一点没反应的主要内容,如果未能解决你的问题,请参考以下文章

MiniUi使用Struts2的增删查改

ajax请求

SQL语句中的行按数值排序不取小数

树形DP

为啥字节在java中不取0xff?

01背包问题(取还是不取呢)