0

我有一个在列中显示用户 ID 的 devexpress gridview。我按此列分组,我想通过添加指向用户配置文件页面的超链接来修改显示的值。

<dx:ASPxGridView ..>

<Columns>
..

<dx:GridViewDataColumn FieldName="UserID" Caption="User" VisibleIndex="2" 
  Visible="false">
  <Settings AllowSort="False" AllowDragDrop="False" />                                
</dx:GridViewDataColumn>

..
</Columns>

</dx:ASPxGridView>

但是每当我尝试添加 DataItemTemplate 时,它​​根本不会影响输出。

如何修改链接显示的内容?

现在它显示:

User 12323

我想显示:

User <a href="/profile.aspx?userid=12323">12323</a>
4

2 回答 2

1

此代码会将 12323 显示为超链接,该超链接将作为 ID 并重定向到您想要的页面。

       <dx:GridViewDataHyperLinkColumn VisibleIndex="0" Settings-FilterMode="DisplayText" Caption="User" 
                ShowInCustomizationForm="True"
             FieldName="UserID" Width="58px">
            <DataItemTemplate>
              <dx:ASPxHyperLink Font-Size="11px" ForeColor="Blue" ID="ASPxHyperLinkTest" Target="_blank" runat="server" Text='<%#Eval("UserID") %>'
 NavigateUrl='<%#string.Format("profile.aspx?userid={0}",Eval("UserID"))%>'>
        </dx:ASPxHyperLink>
      </DataItemTemplate>
    </dx:GridViewDataHyperLinkColumn>
于 2012-07-31T18:49:25.883 回答
0

我以前没有使用过 DevExpress Gridview,但如果它继承自 GridView,那么这可以工作:

Private Sub GridView1_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GridView1.RowDataBound

        If e.Row.RowType = DataControlRowType.DataRow Then
            e.Row.Cells(0).Text = "User <a href=""/profile.aspx?userid=" & DataBinder.Eval(e.Row.DataItem, "UserID") & """>" + DataBinder.Eval(e.Row.DataItem, "UserID") + "</a>"
        End If

End Sub
于 2012-07-31T17:25:21.413 回答