0

UserID を列に表示する devexpress グリッドビューがあります。この列でグループ化し、ユーザー プロファイル ページを指すハイパーリンクを追加して、表示される値を変更したいと考えています。

<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

私は以前にDevExpressGridviewを使用したことがありませんが、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 に答える