diff --git a/code/base-project/base-app/test2.html b/code/base-project/base-app/test2.html
index 0beebca9..cbea7827 100644
--- a/code/base-project/base-app/test2.html
+++ b/code/base-project/base-app/test2.html
@@ -1,169 +1,170 @@
+
-
-DataGrid 多选删除 + 单行编辑示例
-
-
-
-
-
-
-
-
+
+ DataGrid 编辑 + 多选删除 + 彻底删除
+
+
+
+
+
+
+
-DataGrid 编辑 + 多选删除 + 彻底删除 示例(维护 allRows)
+ DataGrid 编辑 + 多选删除 + 彻底删除 示例(维护 allRows)
-
-
-
- |
- ID |
- 姓名 |
- 出生日期 |
- 成绩 |
-
-
-
+
-
+
-
+ // 点击行编辑
+ function onClickRow(index) {
+ if (editIndex !== index) {
+ if (endEditRow()) {
+ $('#subgrid').datagrid('beginEdit', index);
+ editIndex = index;
+ }
+ }
+ }
+
+ // 保存行
+ function endEditRow() {
+ if (editIndex === undefined) return true;
+ if ($('#subgrid').datagrid('validateRow', editIndex)) {
+ $('#subgrid').datagrid('endEdit', editIndex);
+ editIndex = undefined;
+ return true;
+ } else {
+ $.messager.alert('提示', '请填写完整!');
+ return false;
+ }
+ }
+
+ // 新增行
+ function addRow() {
+ if (!endEditRow()) return;
+
+ let newRow = { id: getNextId(), name: '', birth: '', score: '' };
+ allRows.push(newRow);
+ $('#subgrid').datagrid('loadData', allRows);
+
+ let newIndex = allRows.length - 1;
+ $('#subgrid').datagrid('selectRow', newIndex);
+ $('#subgrid').datagrid('beginEdit', newIndex);
+ editIndex = newIndex;
+ $('#subgrid').datagrid('scrollTo', newIndex);
+ }
+
+ // 删除行
+ function removeRows() {
+ let selected = $('#subgrid').datagrid('getChecked');
+ if (selected.length === 0) { $.messager.alert('提示', '请先勾选要删除的行'); return; }
+ let ids = selected.map(r => r.id);
+ allRows = allRows.filter(r => !ids.includes(r.id));
+ $('#subgrid').datagrid('loadData', allRows);
+ editIndex = undefined;
+ }
+
+ function getData() {
+ console.log("===getData===")
+ console.log($('#subgrid').datagrid('getData'));
+ console.log("===getChanges===")
+ console.log($('#subgrid').datagrid('getChanges'));
+ }
+
+ // 打印数据
+ function confirmDelete() { console.log('当前有效数据:', allRows); }
+
+ // ID 生成
+ function getNextId() {
+ if (allRows.length === 0) return 1;
+ return Math.max(...allRows.map(r => r.id)) + 1;
+ }
+
+ // 生成模拟数据
+ function createMockData(count = 100) {
+ let data = [];
+ for (let i = 1; i <= count; i++) {
+ data.push({
+ id: i,
+ name: "用户" + i,
+ birth: randomDate("1980-01-01", "2005-12-31"),
+ score: Math.floor(Math.random() * 41) + 60
+ });
+ }
+ return data;
+ }
+
+ // 随机日期
+ function randomDate(start, end) {
+ let st = new Date(start).getTime();
+ let et = new Date(end).getTime();
+ let t = st + Math.random() * (et - st);
+ let d = new Date(t);
+ return `${d.getFullYear()}-${String(d.getMonth() + 1).padStart(2, '0')}-${String(d.getDate()).padStart(2, '0')}`;
+ }
+
-
+
+