CSFrameworkV6旗舰版 - 还原数据&还原数据日志
第一步:打开数据日志,找到删除的单据,复制 json

第2步:还原数据,输入json

C# 源码
C# 全选
private void btnRestore_Click(object sender, EventArgs e)
{
//JSON转换为实体对象
Func<string, RestorePlan> action = (jsonString) =>
{
var result = JsonConvert.DeserializeObject<object[]>(jsonString);
tb_Plan main = JsonConvert.DeserializeObject<tb_Plan>(result[0].ToString());
List<tb_PlanDtls> details = JsonConvert.DeserializeObject<List<tb_PlanDtls>>(result[1].ToString());
return new RestorePlan { Master = main, Details = details };
};
//打开JSON输入窗体
var json = frmRestoreFromJson.Execute();
if (!json.IsEmpty())
{
var obj = action(json);
if (obj != null)
{
if (_BLL.RestoreData(obj)) //保存数据
{
btnEmpty_Click(sender, e);
txt_QueryInfo.EditValue = obj.Master.MRPNO;
btnQuery_Click(sender, e);
if (gvSummary.RowCount > 0) this.DoViewContent(null);
}
}
}
}
重点:需要分析 json 格式,转换为实体对象。
关键代码:
C# 全选
//JSON转换为实体对象
Func<string, RestorePlan> action = (jsonString) =>
{
var result = JsonConvert.DeserializeObject<object[]>(jsonString);
tb_Plan main = JsonConvert.DeserializeObject<tb_Plan>(result[0].ToString());
List<tb_PlanDtls> details = JsonConvert.DeserializeObject<List<tb_PlanDtls>>(result[1].ToString());
return new RestorePlan { Master = main, Details = details };
};
C# 全选
/// <summary>
/// 还原生产计划
/// </summary>
public class RestorePlan
{
/// <summary>
/// 主表
/// </summary>
public tb_Plan Master { get; set; }
/// <summary>
/// 明细表
/// </summary>
public List<tb_PlanDtls> Details { get; set; }
}
版权声明:本文为开发框架文库发布内容,转载请附上原文出处连接
NewDoc C/S框架网





