页面树结构

版本比较

标识

  • 该行被添加。
  • 该行被删除。
  • 格式已经改变。

...

3、在报表宏界面新建客户端模块。在弹出的新建模块对话框中,,选择对象为spreadSheetReport、事件为onRender、并把下面宏代码复制到代码编辑区域。

Image RemovedImage Added

宏类型

类型

对象

事件

ClientSide

spreadsheetReport

onRender

...

代码块
languagejs
linenumberstrue
function main(spreadsheetReport) {
    debugger;
    var list = spreadsheetReport.getExpandedPositions("B4"); //获取【删除】字样的所有单元格
    for (var i = 0; i < list.length; i++) {
        var pos = spreadsheetReport.parseCellIndex(list[i]);
        var td = spreadsheetReport.getCell(pos[0], pos[1]); //获取单元格
        if (td){
            td.style.cursor = "pointer"; //鼠标变手
            td.toDeleteCell = pos[0];
            td.onclick = function() {
                var modalWindow = jsloader.resolve("freequery.common.modalWindow");
		//var flag = 
                //if (!modalWindow.open("确认删除吗?", "警告", modalWindow.MB_YESNO | modalWindow.MB_ICONQUESTION) == modalWindow.ID_YES;
		) {
                var flag = confirm("确认删除吗?");
                if (flag) {
                    debugger;
                    //实际上允许删除的单元格,在这个例子中是C4这个单元格,所以使用2作为列,从0 开始数,需要根据实际情况修改
                    spreadsheetReport.spreadsheetReportWriteBack.currentEditingPosition = this.toDeleteCell + ":2";
                    //调用删除
                    spreadsheetReport.spreadsheetReportWriteBack.doRemoveRowClick();
                }
            }
        }
    }
}

以上代码在操作删除后,还需要点击保存按钮,数据才能从数据库中删除,若不想再次点击保存按钮,可参考下面的宏代码,在宏代码中执行sql删除数据:

...