2011-03-05 70 views
0

我有一个Devexpress Gridview,显示项目和它的价格。在devexpress gridview的rowupdating事件中显示popupcontrol,如果某个标准失败

编辑已启用。

我使用rowupdating事件,以便检查价格更新是否高于正常值。

如果是的话,我取消编辑由

e.Cancel = true; 
ASPxGridView1.CancelEdit(); 

我想接下来的事情就是弹出一个ASPX popupcontrol请求密码序与RowUpdating事件中较高的数额进行。

的popcontrol将包含一个密码文本框和一个button.The剩余procces通过按钮点击功能

进行eventhough我叫popcontrol

ASPxPopupControl2.ShowOnPageLoad = true; 

弹出显示不出来.. ....为什么会这样..

这里是我对所有代码..

protected void ASPxGridView1_RowUpdating(object sender, DevExpress.Web.Data.ASPxDataUpdatingEventArgs e) 
{ 
    string msg; 

    double new_amt = double.Parse(e.NewValues["Amount"].ToString());//-->gets new amount 

    string type= e.OldValues["Type"].ToString();//-->gets the item 

    double refer_amt=Misc_functions.Get_Item_Amount(type,out msg);//--this function fetches the normal amount for a particular item 

    if (new_amt > refer_amt) 
    { 
     e.Cancel = true; 
     ASPxGridView1.CancelEdit(); 

     ASPxPopupControl2.ShowOnPageLoad = true; 

    } 


} 

基本上我需要密码认证,如果编辑的数量比正常值高。 有什么想法?

回答

0

这不能使用服务器代码完成。最好的解决方案是在RowUpdating事件处理程序中创建一个自定义java脚本变量,并在ASPxGridView的客户端EndCallback事件处理程序中检查其值。即

protected void ASPxGridView1_RowUpdating(object sender, DevExpress.Web.Data.ASPxDataUpdatingEventArgs e) 
{ ... 
    gridView.JSProperties["cpShowPopup"] = true; 
... 
} 

EndCallback = function(s,e) { 
    if(typeof(s.cpShowPopup) != 'undefined') { 
    popup.Show(); 
    } 
} 

希望,这有助于。

+0

thnaks it works – pheonix4eva 2011-03-05 11:53:27

相关问题