我有一个使用objectdatasource进行插入的telerik radgrid。 objectdatasource调用的insert方法有一个布尔返回值,我想在radgrid的ItemInserted事件中检查。
这是可能的,代码是什么?我检查了GridInsertedEventArgs e,我无法看到获取返回值,但它必须在那里,我想我只是错过了它。
任何帮助将不胜感激。
答案 0 :(得分:3)
ItemInserted
事件最好与异常一起使用,因此它包含Exception
和ExceptionHandled
属性。
如果您的对象数据源插入方法失败(我相信,这是布尔返回值的意图),您应该抛出一个特定类型的Exception
,然后您可以在{ {1}}事件。
然后,根据异常类型,您可以选择修改ItemInserted
属性和ExceptionHandled
参数的KeepInInsertMode
。
答案 1 :(得分:1)
除了Rabid的好建议,您还可以处理ObjectDataSource
控件的Inserted
事件。 允许直接访问ReturnValue。
protected void myOds_Inserted(object sender, ObjectDataSourceStatusEventArgs e)
{
int rtrnVal = Convert.ToInt32(e.ReturnValue);
}
根据此事件中检查的返回值,您可以抛出将由ItemInserted
事件中的RadGrid处理的异常。
答案 2 :(得分:0)
这可能会有所帮助,从VB.net转换而来:
protected void RadGrid1_InsertCommand(object source, Telerik.Web.UI.GridCommandEventArgs e) {
//获取RadGrid的GridEditFormInsertItem
GridEditFormInsertItem insertedItem = (GridEditFormInsertItem)e.Item;
//Access the textbox from the edit form template and store the values in string variables.
string CurrentCode = (insertedItem.FindControl("txtEditCurrentCode") as TextBox).Text;
}