我有一个Devexpress Gridview,其中显示了商品及其价格。
启用编辑。
我使用rowupdating事件,以便检查更新的价格是否高于正常值。
如果是,我取消编辑
e.Cancel = true;
ASPxGridView1.CancelEdit();
我想要的下一件事就是弹出一个aspx popupcontrol,请求输入密码,以便在rowupdating事件中继续使用更高的金额。
popcontrol将包含密码文本框和按钮。剩余的procces将通过按钮单击功能执行
虽然我打电话给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 :(得分: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();
}
}
希望,这有帮助。