最近在使用Easyui框架做進銷存系統,目前遇到的問題是做出了單據的新增(分為表頭和表體),但是修改的功能不知道怎么實作,貼上圖片及代碼,請教大神幫忙解決下。如下圖

代碼如下:/// <summary>
/// 新增與修改采購訂單
/// </summary>
/// <returns></returns>
public ContentResult PurchaseSave()
{
CusMessage clsResult = new CusMessage(); //回傳結果結構
Trans sqlTran = new Trans();
try
{
List<ModelField> lstFields = new List<ModelField>();
ModelField mdlSeriesId = new ModelField { FieldName = "SeriesId" };
lstFields.Add(mdlSeriesId);
ModelField mdlcPOID = new ModelField { FieldName = "cPOID" };
lstFields.Add(mdlcPOID);
ModelField mdldPODate = new ModelField { FieldName = "dPODate" };
lstFields.Add(mdldPODate);
ModelField mdlcVenCode = new ModelField { FieldName = "cVenCode" };
lstFields.Add(mdlcVenCode);
ModelField mdlcPersonCode = new ModelField { FieldName = "cPersonCode" };
lstFields.Add(mdlcPersonCode);
ModelField mdlcArrivalPlace = new ModelField { FieldName = "cArrivalPlace" };
lstFields.Add(mdlcArrivalPlace);
ModelField mdlcexch_code = new ModelField { FieldName = "cexch_code" };
lstFields.Add(mdlcexch_code);
ModelField mdliTaxRate = new ModelField { FieldName = "iTaxRate" };
lstFields.Add(mdliTaxRate);
ModelField mdlcPayCode = new ModelField { FieldName = "cPayCode" };
lstFields.Add(mdlcPayCode);
ModelField mdlcBusType = new ModelField { FieldName = "cBusType" };
lstFields.Add(mdlcBusType);
ModelField mdlcMemo = new ModelField { FieldName = "cMemo" };
lstFields.Add(mdlcMemo);
ModelField mdlDetail = new ModelField { FieldName = "Detail" };
lstFields.Add(mdlDetail);
//獲取提交的資料
foreach (string Item in Request.Params.AllKeys)
{
foreach (ModelField FieldItem in lstFields)
{
if (FieldItem.FieldName == Item)
{
FieldItem.FieldValue = Request.Params[FieldItem.FieldName].Trim();
}
}
}
//組織類資料
Bus_PoMain mdlItem = new Bus_PoMain();
if (Convert.ToInt32(mdlSeriesId.FieldValue) > 0)
{
mdlItem.SeriesId = Convert.ToInt32(mdlSeriesId.FieldValue);
mdlItem.cModifyDate = DateTime.Now;
mdlItem.cReviser = "0";
}
else
{
mdlItem.cMakeDate = DateTime.Now;
mdlItem.cMaker = "0";
}
mdlItem.cPOID = Convert.ToString(mdlcPOID.FieldValue);
mdlItem.dPODate = Convert.ToDateTime(mdldPODate.FieldValue);
mdlItem.cPersonCode = Convert.ToString(mdlcPersonCode.FieldValue);
mdlItem.cVenCode = Convert.ToString(mdlcVenCode.FieldValue);
mdlItem.cPersonCode = Convert.ToString(mdlcPersonCode.FieldValue);
mdlItem.cArrivalPlace = Convert.ToString(mdlcArrivalPlace.FieldValue);
mdlItem.cexch_code = Convert.ToInt32(mdlcexch_code.FieldValue);
mdlItem.iTaxRate = Convert.ToDouble(mdliTaxRate.FieldValue);
mdlItem.cPayCode = Convert.ToString(mdlcPayCode.FieldValue);
mdlItem.cBusType = Convert.ToString(mdlcBusType.FieldValue);
mdlItem.cMemo = Convert.ToString(mdlcMemo.FieldValue);
long lid = 0;
ClassDBCommon clsDB = new ClassDBCommon();
DbHelper sqlDB = new DbHelper();
if (Convert.ToInt32(mdlSeriesId.FieldValue) == 0)
{
if (clsDB.InsertProcess(mdlItem, sqlTran, sqlDB, DBType.SqlServer, out lid))
{
clsResult.Code = 0; //成功
}
else
{
clsResult.Code = -1; //失敗
}
}
else
{
if (clsDB.UpdateProcess(mdlItem, sqlDB))
{
clsResult.Code = 0; //成功
}
else
{
clsResult.Code = -1; //失敗
}
}
//得到回傳ID后處理表體
if (Convert.ToInt32(mdlSeriesId.FieldValue) == 0)
{
if (lid == 0)
{
throw new Exception("單據頭保存失敗");
}
}
List<ModelPurchase> lstRD = JsonConvert.DeserializeObject<List<ModelPurchase>>(mdlDetail.FieldValue.ToString());
foreach (ModelPurchase Item in lstRD)
{
if (Item.InvCode != null)
{
if (Item.InvCode.Trim() != "")
{
//保存邏輯
Bus_PoDetails mdlitems = new Bus_PoDetails();
mdlitems.InvCode = Convert.ToString(Item.InvCode);
mdlitems.cAppcode = Convert.ToString(Item.cAppcode);
mdlitems.cPOID = Convert.ToString(Item.cPOID);
mdlitems.iQuantity = Convert.ToDecimal(Item.iQuantity);
mdlitems.stockQuantity = Convert.ToDecimal(Item.stockQuantity);
mdlitems.iTaxPrice = Convert.ToDecimal(Item.iTaxPrice);
mdlitems.iUnitPrice = Convert.ToDecimal(Item.iUnitPrice);
mdlitems.taxAmount = Convert.ToDecimal(Item.taxAmount);
mdlitems.nTaxAmount = Convert.ToDecimal(Item.nTaxAmount);
mdlitems.dArriveDate = Convert.ToDateTime(Item.dArriveDate);
mdlitems.cbMemo = Convert.ToString(Item.cbMemo);
mdlitems.SeriesId = Convert.ToInt32(lid);
if (mdlitems.AutoId == 0)
{
if (clsDB.InsertProcess(mdlitems, sqlTran, sqlDB))
{
clsResult.Code = 0; //成功
}
else
{
clsResult.Code = -1; //失敗
}
}
else
{
//修改邏輯
}
}
}
}
sqlTran.Commit();
}
catch (Exception Ex)
{
clsResult.Code = -2;
clsResult.Msg = Ex.Message;
sqlTran.RollBack();
}
return Content(JsonConvert.SerializeObject(clsResult));
}
uj5u.com熱心網友回復:
簡單一點的做法,選中你要編輯的那行,將那行每個欄位的值放到文本框里,然后提交修改就行了。// 選中行記錄的欄位值放到文本框里
var row = $('#dg').datagrid('getSelected');
if(row){
$('#w').window('open');
$('#a').textbox('setValue', row['a']); // 欄位a
$('#b').textbox('setValue', row['b']); // 欄位b
$('#c').textbox('setValue', row['c']); // 欄位c
$('#d').textbox('setValue', row['d']); // 欄位d
}
// 提交資料至后臺進行修改
$('#btn').click(function(){
$.ajax({
type: 'post',
url: '你的后臺地址',
dataType: 'json',
data: {
a: a,
b: b,
c: c,
d: d
},
success: function(data){
if(data == 'success'){
alert('修改成功');
}
}
})
})
uj5u.com熱心網友回復:
我好想記得easyui的示例代碼里,有通過行選中或者checkbox選中后,修改代碼的示例。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/53974.html
標籤:C#
上一篇:ASP.net郵箱發郵件報錯
