2010-07-16 45 views
1

我有一个使用objectdatasource插入的telerik radgrid。 objectdatasource调用的insert方法有一个布尔返回值,我想检查radgrid的ItemInserted事件。telerik radgrid GridView1_ItemInserted - 我可以得到一个返回值

这是可能的,是什么代码来做到这一点。我检查了GridInsertedEventArgs e,我无法看到获取返回值,但它必须在那里,我想我只是想念它。

任何帮助,将不胜感激。

回答

3

ItemInserted事件是例外更好地利用的GridEditFormInsertItem,因此它包含ExceptionExceptionHandled属性。

如果您的对象数据源插入方法失败(我相信这是布尔返回值的意图),您应该抛出一个特定类型的Exception,然后您可以在ItemInserted事件中检查该特定类型。

然后根据异常的类型,您可以选择修改Telerik.Web.UI.GridInsertedEventArgs参数的ExceptionHandled属性和KeepInInsertMode

0

这可能有助于从VB.net转换:

protected void RadGrid1_InsertCommand(object source, Telerik.Web.UI.GridCommandEventArgs e) { 

//获取radgrid控件

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; 

}

+0

如果有什么我不想显示,但需要访问我将它存储在隐藏的字段使用FindControl来获取值 – Markive 2010-07-18 12:49:07

1

除了Rabid的好建议,您还可以处理ObjectDataSource控件的Inserted事件。这确实允许直接访问ReturnValue。

protected void myOds_Inserted(object sender, ObjectDataSourceStatusEventArgs e) 
{ 
    int rtrnVal = Convert.ToInt32(e.ReturnValue); 
} 

基于在此事件中检查返回值,你可以扔掉,将通过radgrid控件在ItemInserted事件处理的异常。