前段頁面
<input required validationMessage="@ResourcesLan.ItemName"
data-role="combobox"
data-auto-bind="false"
id="AssetInfoID" name="AssetInfoID"
data-text-field="AssetInfoName"
data-filter="startswith"
@*data-placeholder= "請選擇"*@
data-value-field="AssetInfoID"
data-value-primitive="true"
data-bind="source:ItemNameList,value:AssetInfoID,events:{change:ItemNameChange}" />
JS
ItemNameList: new kendo.data.DataSource({
transport: {
read: {
url: "/BaseData/AssetInfoTypeList",
cache: false
}
},
requestStart: function () {
this.transport.options.read.data = { ItemCategoryID: this.parent().ItemCategoryID };
},
requestEnd: function (res) {
var responselist = res.response;
}
}),
ItemNameChange: function (e) {
var selectdata = e.sender.dataItem(e.sender.select());
if (selectdata!=null) {
this.set("ItemSpec", selectdata.ItemSpec);
this.set("Quality", selectdata.Quality);
this.set("ItemCD", selectdata.AssetInfoCD);
this.set("AssetInfoName", selectdata.AssetInfoName);
this.set("AssetInfoID", selectdata.AssetInfoID);
this.set("UnitID", selectdata.UnitID);
$("#ItemCD").attr("readonly", "readonly");
$("#Quality").attr("readonly", "readonly");
$("#ItemSpec").attr("readonly", "readonly");
} else {
this.set("ItemSpec", "");
this.set("Quality", "");
this.set("ItemCD", "");
//this.set("AssetInfoName", "");
//this.set("AssetInfoID", "");
$("#ItemCD").removeAttr("readonly");
$("#Quality").removeAttr("readonly");
$("#ItemSpec").removeAttr("readonly");
}
},
後臺
/// <summary>
/// 根據物料大類裏的物料類別查物料名稱
/// </summary>
/// <param name="typeCD"></param>
/// <returns></returns>
[Data]
public ActionResult AssetInfoTypeList(string ItemCategoryID)
{
var key = base.UserCompany.CompanyGUID + CompanyHelper.PurItemCategoryKey;
//從緩存取數據
var list = new List<PurAssetInfoModel>();
var proc = new PurAssetInfoService();
var pars = new List<CndModel>
{
new CndModel ("legalunitid",base.UserCompany.CompanyGUID),
new CndModel ("ItemCategoryID",ItemCategoryID)
};
var templist = proc.GetList(pars);
if (templist != null && templist.Count > 0)
list = templist.Cast<PurAssetInfoModel>().ToList();
///插入緩存
CommonCache.Add(key, list);
var ret = list?.Cast<PurAssetInfoModel>().Where(p => p.R_RECORD_STATUS == 1)?.ToList();
return Json(ret, JsonRequestBehavior.AllowGet);
}
效果圖