过滤界面组织如何出现空值
金蝶云社区-Zw814
Zw814
0人赞赏了该文章 918次浏览 未经作者许可,禁止转载编辑于2016年09月06日 09:07:49

简单账表的过滤界面,组织字段不能输入空值怎么解决?

过滤表单的插件:
public class PackingReportFilter : AbstractCommonFilterPlugIn
{
#region 界面显示时,初始组织范围
///


/// 界面显示时,初始组织范围
///

///
public override void AfterBindData(EventArgs e)
{
try
{
InitOrgInfo();
}
catch (Exception ex)
{
this.View.ShowMessage(ex.Message, MessageBoxOptions.OK, "提示", MessageBoxType.Notice);
}
}
#endregion

#region 初始组织范围
///


/// 初始组织范围
///

private void InitOrgInfo()
{
Context ctx = null;
object objValue = null;
List organization = null;

try
{
ctx = this.Context;

if (!base.Context.IsMultiOrg)
{
this.View.StyleManager.SetEnabled("FORGID", null, false);
}
else
{
organization = GetUserAllOrganizationEnumitem(ctx);
this.View.GetFieldEditor("FORGID", 0).SetComboItems(organization);
objValue = this.View.Model.GetValue("FORGID");
if (objValue.IsNullOrEmpty())
{
this.View.Model.SetValue("FORGID", ctx.CurrentOrganizationInfo.ID);
}
}
}
catch (Exception ex)
{
this.View.Model.SetValue("FORGID", null);
throw ex;
}
}
#endregion

#region 获取用户所有权限组织
///


//获取用户所有权限组织
///

///
///
private List GetUserAllOrganizationEnumitem(Context ctx)
{
List lstEnumUserOrg = new List();
List lstUserOrg = null;

try
{
lstUserOrg = PermissionServiceHelper.GetUserOrg(ctx);
foreach (Organization orgCur in lstUserOrg)
{
EnumItem item = new EnumItem(new DynamicObject(EnumItem.EnumItemType))
{
EnumId = orgCur.Id.ToString(),
Value = orgCur.Id.ToString(),
Caption = new LocaleValue(orgCur.Name, ctx.UserLocale.LCID)
};
lstEnumUserOrg.Add(item);
}
return lstEnumUserOrg;
}
catch (Exception ex)
{
throw ex;
}
}
#endregion

#region 必录数据验证
///


/// 必录数据验证
///

///
///
protected virtual string EnterValidate(ButtonClickEventArgs e)
{
string strResult = string.Empty, strValue = string.Empty;
object objValue = null;

try
{
objValue = this.Model.GetValue("FORGID");
strValue = (objValue == null ? string.Empty : objValue.ToString());
if (string.IsNullOrEmpty(strValue))
{
strResult = "请先选择组织";
}
return strResult;
}
catch (Exception ex)
{
strResult = ex.Message;
return strResult;
}
}
#endregion
}