簡體   English   中英

如何將gridview標題鏈接到鏈接?

[英]How do I make the gridview headers to links?

我希望我的gridview的標題是超鏈接,沒有“SortExpression”...我在網上搜索,但我一直不是很成功。

有人有解決方案嗎?

例如:當點擊簡單網格視圖的標題時,該網站會導航到網頁。 可能嗎?

提前致謝!

你有沒有嘗試過Gridview Header模板......

 <asp:GridView runat="server" ID="grd">
        <Columns>
            <asp:TemplateField>
                <HeaderTemplate>
                    <asp:HyperLink runat="server" NavigateUrl="YourURL"> </asp:HyperLink>
                </HeaderTemplate>
            </asp:TemplateField>
        </Columns>
    </asp:GridView>

我使用了一種可能有點不同尋常的方法,但它有效。 在我的情況下,我想在gridview中使用標准的BoundField控件,而不是使用帶有HeaderTemplate和ItemTemplate的模板字段。 我使用了一個基於SQL數據源的簡單gridview,看起來像這樣。

<asp:GridView
    ID="gvTopXByContest"
    runat="server"
    AutoGenerateColumns="False"
    DataSourceID="dsTopXByContest"
    AllowSorting="true" 
    OnSorting="gvTopXByContest_OnSorting" >
    <Columns>
        <asp:BoundField DataField="txtOnlineUserName" HeaderText="Fan Name & Rank"                   SortExpression="txtOnlineUserName" ItemStyle-Width="155px"></asp:BoundField>
        <asp:BoundField DataField="fltTotalPoints" HeaderText="Points" SortExpression="fltTotalPoints" ItemStyle-Width="40px"></asp:BoundField>
        <asp:BoundField DataField="curWon" HeaderText="Won" SortExpression="curWon" ItemStyle-Width="40px"></asp:BoundField> 
</Columns>
</asp:GridView>

然后我使用觸發gridview的OnSorting事件的代碼來進行重定向

Protected Sub gvTopXByContest_OnSorting(sender As Object, e As GridViewSortEventArgs)

    If e.SortExpression <> DirectCast(sender, GridView).SortExpression Then
        If e.SortExpression = "txtOnlineUserName" Then
            Response.Redirect(URL to redirect to goes here)
        ElseIf e.SortExpression = "fltTotalPoints" Then
            Response.Redirect(URL to redirect to goes here)
        Else
            'I could have used another ElseIf here but since there are only 3 columns Else works
            Response.Redirect(URL to redirect to goes here)
        End If

End Sub

我認為這里需要一個HeaderTemplate ......

參考: http//msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.templatefield.headertemplate.aspx

HTH。

現在我得到了這個gridview,我需要標題可點擊,然后事件開始(類似OnClickHeader =“header_ClickEvent”?)當然有一個SortExpression元素,它可以對網格進行排序,但我希望能夠啟動任何事件,例如單擊按鈕時。

我在asp中找不到任何解決方案:BoundField也沒有asp:TemplateField ......我認為超鏈接可以解決問題,但這有點為時過早。

Gridview:

<asp:GridView CssClass="gridview" ID="GridView1" runat="server" AllowPaging="True" AllowSorting="True" AutoGenerateColumns="False" DataKeyNames="Student_key" OnSelectedIndexChanged="GridView1_SelectedIndexChanged" PagerSettings-Visible="false" PageSize="14">

                                    <HeaderStyle CssClass="headerstyle" />
                                    <RowStyle CssClass="rowstyle"/>
                                    <AlternatingRowStyle CssClass="altrowstyle" />
                                    <Columns>
                                        <asp:BoundField DataField="Studentnumber" HeaderText="Studentnummer" >
                                            <HeaderStyle CssClass="header100" />
                                        </asp:BoundField>
                                        <asp:BoundField DataField="Prefix" HeaderText="Voorletters" >
                                            <HeaderStyle CssClass="header75" />
                                        </asp:BoundField>
                                        <asp:BoundField DataField="prename" HeaderText="Voornaam" SortExpression="Voornaam">
                                            <HeaderStyle CssClass="header75" />
                                        </asp:BoundField>
                                        <asp:BoundField DataField="nickname" HeaderText="Roepnaam" >
                                            <HeaderStyle CssClass="header100" />
                                        </asp:BoundField>
                                        <asp:BoundField DataField="insertion" HeaderText="Tussenvoegsel" >
                                            <HeaderStyle CssClass="header100" />
                                        </asp:BoundField>
                                        <asp:BoundField DataField="surname" HeaderText="Achternaam">
                                            <HeaderStyle CssClass="header100" />
                                        </asp:BoundField>
                                        <asp:CommandField SelectText="show results" ShowSelectButton="True" >
                                            <HeaderStyle CssClass="header100" />
                                        </asp:CommandField>

                                    </Columns>
                                    <EmptyDataTemplate >There are no results shown, please try again.</EmptyDataTemplate>

                                </asp:GridView>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM