[K/3Cloud] 동적 양식을 호출할 때 사용자 정의 매개 변수 전달

1846 단어
플러그인에서 동적 폼을 호출할 때 DynamicFormShowParameter의 CustomParams를 통해 사용자 정의 파라미터를 추가합니다.
private void ShowMaterialStock()
        {
            object useOrgId = (this.View.Model.GetValue("FUseOrgId") as DynamicObject)["Id"];
            object materialId = this.View.Model.GetPKValue();
            List<long> orgIds = PermissionServiceHelper.GetPermissionOrg(this.Context, new BusinessObject() { Id = K3.Core.SCM.SCMFormIdConst.STK_Inventory }, PermissionConst.View);


            DynamicFormShowParameter ShowPara = new DynamicFormShowParameter();
            ShowPara.ParentPageId = this.View.PageId;
            ShowPara.MultiSelect = false;
            ShowPara.FormId = K3.Core.SCM.SCMFormIdConst.STK_InventoryQuery;
            ShowPara.Height = 600;
            ShowPara.Width = 1000;
            string filter = string.Format(" FStockOrgId = {0} And FMaterialId = {1} And FOwnerTypeId='BD_OwnerOrg' And FOwnerId={2} ", useOrgId, materialId, useOrgId);
            ShowPara.CustomParams.Add("QueryFilter", filter);
            ShowPara.CustomParams.Add("OrgId", (this.View.Model.GetValue("FUseOrgId") as DynamicObject)["Id"].ToString());
            this.View.ShowForm(ShowPara);
        }

대상 자격 증명의 플러그 인에서 View를 통과합니다.OpenParameter.GetCustomParameter("xxx")는 전달된 사용자 정의 매개변수를 가져옵니다.
public class InventoryQuery : AbstractDynamicFormPlugIn
    {

        public override void OnInitialize(InitializeEventArgs e)
        {
            base.OnInitialize(e);

            object paraQueryFilter = this.View.OpenParameter.GetCustomParameter("QueryFilter");
            object paraOrgId = this.View.OpenParameter.GetCustomParameter("QueryOrgId");
            
        }

    }

좋은 웹페이지 즐겨찾기