2017-10-12 78 views
1

我上的DevExpress XAF应用程序的工作,在这里我需要定义,以便与自定义属性编辑器业务对象的属性之一用于与显示它时的DevExpress不点火这会从另一个业务对象填充像下面的下拉列表:回发ASPxComboBox的自定义属性编辑

[ImmediatePostData(true)] 
[ModelDefault("PropertyEditorType", "CollateralSaleTypePropertyEditor")] 
[Size(140)] 
public string COLLATERAL_SALE_TYPE 
{ 
    get { return GetPropertyValue<String>("COLLATERAL_SALE_TYPE"); } 
    set 
    { 
     SetPropertyValue("COLLATERAL_SALE_TYPE", value); 
     // OnChanged("COLLATERAL_REPOSSESSION_DATE"); 
    } 
} 

而且,我已经定义了CollateralSaleTypePropertyEditor并且已经将AutoPostBack设置为true:_dropDownControl.AutoPostBack = true;

我现在面临的问题是,这个帖子后面呢不会发生,而服务器端事件SelectedIndexChanged没有得到提高:

//Server side event that is not raised 
_dropDownControl.SelectedIndexChanged += control_SelectedIndexChanged; 
//Client side event that is raised     
_dropDownControl.ClientSideEvents.SelectedIndexChanged = "function (sender, e) { e.processOnServer=false;}"; 

所以基本上每次我改变选定的项目什么都不会发生。我发现下面的链接,解释了更新here的原因。但即使在我遵循这些步骤后,也没有任何反应。

回答

0

我认为解决您的问题是显而易见的。问题是这一行:

dropDownControl.ClientSideEvents.SelectedIndexChanged = 
        "function (sender, e) { e.processOnServer=false;}"; 

既然你已经指定e.processOnServer=false,在客户端产生SelectedIndexChanged事件,但它不会碰到服务器。

如果您想要SelectedIndexChanged到达服务器端,您需要完全删除客户端处理程序或将其更改为e.processOnServer=true;

+0

嘿,我解决它,没错的processedOnServer属性必须设置为true,这似乎是在特定的下拉列表控制的问题。 – strg

+0

@kejsiStruga高兴它帮助!如果你接受答案,那么将不胜感激。 – andrews