Previous topicNext topic
Help > 开发指南 > SanMuGrid平台编程 > 主要对象 > BaseGrid > 方法 >
保存
方法名称 分类 说明
Save 保存 保存当前数据表
SaveExcel 保存 保存表为Excel文件。会弹出保存对话框,并且会以文件名作为表名称。
SavePDF 保存 保存为PDF文档。
SaveSubGrids 保存 虚方法,子类必须重写此方法。为了不让BaseGrid为抽象类(这样会导致主题控件应用主题失败)就不设置为abstract抽象方法了。

Vb.Net
Dim tbl As SmGrid=Proj.CurrentSmGrid
'示例一:默认不传入任何参数直接以单独事务保存
tbl.Save() '等同于tbl.Save(True)

'示例二:与其他SQL在同一个事务中进行保存
Try
    Dim db As Database=tbl.DataTableHelp.Database
    '开始进入事务
    db.BeginTrans()
    '遍历选择区域的每一行
    Dim strCMD As String="UPDATE spdaH SET spbs=666 where spbh>2"
    db.ExecuteNonQuery(strCMD,False)
    '放到与其他同一个事务中进行保存
    tbl.Save(False)
    '提交事务,让所有SQL执行正式生效
    db.CommitTrans()
Catch ex As Exception
    '出错时回滚事务
    db.RollbackTrans()
    '弹出异常信息,并记录日志当中。
    UnhandledExceptionManager.ShowAndSaveLog(ex)
End Try

'此方法使用方法跟Save一致,只是针对的是保存子表及相应的孙表。
tbl.SaveSubGrids()

C#
SmGrid tbl = Proj.CurrentSmGrid;
// 示例一:默认不传入任何参数直接以单独事务保存
tbl.Save(); // 等同于tbl.Save(True)

// 示例二:与其他SQL在同一个事务中进行保存
try
{
    Database db = tbl.DataTableHelp.Database;
    // 开始进入事务
    db.BeginTrans();
    // 遍历选择区域的每一行
    string strCMD = "UPDATE spdaH SET spbs=666 where spbh>2";
    db.ExecuteNonQuery(strCMD, false);
    // 放到与其他同一个事务中进行保存
    tbl.Save(false);
    // 提交事务,让所有SQL执行正式生效
    db.CommitTrans();
}
catch (Exception ex)
{
    // 出错时回滚事务
    db.RollbackTrans();
    // 弹出异常信息,并记录日志当中。
    UnhandledExceptionManager.ShowAndSaveLog(ex);
}

// 此方法使用方法跟Save一致,只是针对的是保存子表及相应的孙表。
tbl.SaveSubGrids();