在 ODS 事件处理程序之前访问/更新代码隐藏中的 Telerik RadGrid 项目值

发布于 2024-09-06 03:54:03 字数 321 浏览 4 评论 0原文

我需要根据 Rad Grid 上的自定义编辑表单中的一些值来更新代码隐藏中正在编辑的项目的一些值。我可以从网格的事件处理程序之一访问该项目(并更新一些值)吗?目前,我将这些值存储在临时变量中,然后将新值注入到 ObjectDataSource 的插入/更新事件处理程序中,但如果我可以在一个地方完成这一切,那就更好了。 (我无法在 ObjectDataSource 事件处理程序中完成所有操作,因为我无法访问网格编辑表单内的控件。)

我一直在使用 GridEditableItem 对象的 ExtractValues 和 UpdateValues 方法,但我没有祝你好运。

任何提示将不胜感激:)

I need to update some of the values of the item being edited in my code-behind based on some values in a custom Edit Form on our Rad Grid. Can I access the item (and update some values) from one of the Grid's event handlers? Currently I'm storing the values in temporary variables and then injecting the new values in the ObjectDataSource's Inserting/Updating event handlers, but it would be much nicer if I could do it all in one spot. (I can't do it all in the ObjectDataSource event handlers as I can't access the controls inside my Grid's Edit Form.)

I've been playing with the ExtractValues and UpdateValues methods of the GridEditableItem object, but I'm not having any luck.

Any tips would be greatly appreciated :)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

浅沫记忆 2024-09-13 03:54:03

尝试使用网格的 UpdateCommand 事件处理程序。进入其中的事件参数对象包含对 editform 项的引用。从那里您可以提取新输入的值并将它们传递给 ObjectDataSource:

Hashtable newValues = new Hashtable();
((GridEditableItem)e.Item).ExtractValues(newValues);

//现在 newValues 哈希表包含每个列字段的键/值对。

希望有帮助。

Try using the grid's UpdateCommand event handler. The event argument object that's coming into it contains a reference to the editform item. From there you can extract the newly-entered values and pass them to the ObjectDataSource:

Hashtable newValues = new Hashtable();
((GridEditableItem)e.Item).ExtractValues(newValues);

//now the newValues hash table contain key/value pairs for each column field.

Hope it helps.

我爱人 2024-09-13 03:54:03

有点晚了,但希望它能帮助某人:

在网页代码后面执行此操作:

Partial Public Class SomeWebPage
   Implements IBindableControl

   Public Sub ExtractValues(ByVal dictionary As IOrderedDictionary) Implements IBindableControl.ExtractValues

      ' Your code to get the custom value
      Dim CustomString As String = "the custom thing"

      dictionary.Add("DatabaseItemName", CustomString)

   End Sub

“DatabaseItemName”是数据库代码中预期的数据项名称。我总是使用 ObjectDataSource 来访问数据库,因为我们主要使用存储过程来进行数据库 CRUD 操作。如果执行此操作,这些项​​目会自动显示在数据库代码中。希望使用此信息,您可以在互联网上挖掘并找到更详细的示例。

顺便说一句,我将其与 Telerik RadGrid 一起使用,并且此代码实际上已添加到定义网格编辑表单的 ASCX 用户控件中。

Kind of a late answer but hopefully it will help someone:

In the web page code behind do this:

Partial Public Class SomeWebPage
   Implements IBindableControl

   Public Sub ExtractValues(ByVal dictionary As IOrderedDictionary) Implements IBindableControl.ExtractValues

      ' Your code to get the custom value
      Dim CustomString As String = "the custom thing"

      dictionary.Add("DatabaseItemName", CustomString)

   End Sub

The "DatabaseItemName" is the data item name expected in the database code. I always use ObjectDataSource to access the database because we mostly use stored procedures for our database CRUD operations. If you do this, the items shows up automatically in the DB code. Hopefully using this info, you can dig around on the Internet and find more detailed examples.

BTW, I am using this with Telerik RadGrid and this code is actually added to the ASCX user control that defines the grid edit form.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文