KendoUi 可填可選下拉框

前段頁面 

<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);
}

效果圖

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章