【问题标题】:Generating a link from other columns in Telerik RadGrid从 Telerik RadGrid 中的其他列生成链接
【发布时间】:2013-06-12 21:54:31
【问题描述】:

我有一个 Telerik RadGrid,它包含三列,其中 UniqueName 为 OrderNo、SendToAddress 和 ResendLink。

我想要一个超链接列,在单击时调用 JavaScript 函数,将超链接所在行的值作为参数传递给函数。

以下代码有效,但仅在页面上运行一次。后续刷新,方法抛出异常(itemData 为空)。 注意:sSearchResults 是一个 POCO,作为数据传输对象返回列数据。

    Protected Sub dg2_ItemCreated(sender As Object, e As Telerik.Web.UI.GridItemEventArgs) Handles dg2.ItemCreated
    If TypeOf e.Item Is GridDataItem Then
        ' Setup the Resend Link
        Dim item As GridDataItem = CType(e.Item, GridDataItem)
        Dim itemData As sSearchResults = CType(item.DataItem, sSearchResults)
        Dim resendLink As HyperLink = DirectCast(e.Item.FindControl("ResendLink"), HyperLink)
        resendLink.Attributes("href") = "javascript:void(0);"
        resendLink.Attributes("onclick") = [String].Format("return ShowResendForm('{0}','{1}');",
                                                           itemData.OrderNo,
                                                           itemData.SendToAddress)
    End If
End Sub

我怀疑如果我将上面的代码移动到网格上的 ItemDataBound 事件并将 EnableViewState 设置为 false,它会可靠地工作。我还没有尝试过,我不想这样做。

使用 RadGrid 获取行数据列字符串以填充另一列的正确方法是什么?

【问题讨论】:

    标签: vb.net webforms telerik-grid


    【解决方案1】:

    我解决了这个问题,而是在 ASPX 中将我需要从 ItemCreated 方法以编程方式访问的所有列指定为 DataKeyNames

    然后,在ItemCreated 事件处理程序中,我可以像这样访问这些值:

    e.Item.OwnerTableView.DataKeyValues(e.Item.ItemIndex)("OrderNo")
    

    【讨论】:

      猜你喜欢
      • 2012-11-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多