1

こんにちは、グリッドビューがあります (グリッドビューの再開)

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 
        DataKeyNames="IDEntretien,Expr2,Expr3" DataSourceID="SqlDataSource12" 
        EnableModelValidation="True" BackColor="White" BorderColor="#999999" 
        BorderStyle="None" BorderWidth="1px" CellPadding="3" GridLines="Vertical">
        <AlternatingRowStyle BackColor="Gainsboro" />
        <Columns>
            <asp:BoundField DataField="IDEntretien" HeaderText="IDEntretien" 
                InsertVisible="False" ReadOnly="True" SortExpression="IDEntretien" 
                Visible="False" />
            <asp:BoundField DataField="IDPersonne" HeaderText="ID" 
                SortExpression="IDPersonne" />
            <asp:BoundField DataField="dtmDate" HeaderText="Date" 
                SortExpression="dtmDate" DataFormatString="{0:d}" />
            <asp:BoundField DataField="strNom" HeaderText="Projet" 
                SortExpression="strNom" />
            <asp:HyperLinkField DataNavigateUrlFields="IDEntretien" 
                DataNavigateUrlFormatString="ActionASG.aspx?IDEntretien={0}" HeaderText="ASG" 
                Text="ASG" />
            <asp:HyperLinkField DataNavigateUrlFields="IDEntretien" 
                DataNavigateUrlFormatString="ActionAEPP.aspx?IDEntretien={0}" HeaderText="AEPP" 
                Text="AEPP" />
        </Columns>
        <FooterStyle BackColor="#CCCCCC" ForeColor="Black" />
        <HeaderStyle BackColor="#000084" Font-Bold="True" ForeColor="White" />
        <PagerStyle BackColor="#999999" ForeColor="Black" HorizontalAlign="Center" />
        <RowStyle BackColor="#EEEEEE" ForeColor="Black" />
        <SelectedRowStyle BackColor="#008A8C" Font-Bold="True" ForeColor="White" />
    </asp:GridView>
<asp:SqlDataSource ID="SqlDataSource12" runat="server" 
        ConnectionString="<%$ ConnectionStrings:BE Intranet 2009 01 %>" 
        SelectCommand="SELECT Entretien.IDEntretien, Entretien.IDConseiller, Entretien.IDPersonne, Entretien.dtmDate, Entretien.memCommentaires, Entretien.IDProjet, Projet.strNom, Conseiller.strNom AS Expr1, Conseiller.IDConseiller AS Expr2, Projet.IDProjet AS Expr3 FROM Entretien INNER JOIN Conseiller ON Entretien.IDConseiller = Conseiller.IDConseiller INNER JOIN Projet ON Entretien.IDProjet = Projet.IDProjet WHERE (Entretien.IDPersonne = @IDPersonne)">
        <SelectParameters>
            <asp:QueryStringParameter Name="IDPersonne" QueryStringField="IDP" />
        </SelectParameters>
    </asp:SqlDataSource>

たとえば、結果が列 PROJECT - ASG (テーブル Projet.strNom から) に表示されると、ページ "ActionASG.aspx? IDEntretien = {0}" を参照する HyperLinkField になることを望みます。結果が変化する場合、たとえば AEPP は「ActionAEPP.aspx? IDEntretien = {0}」を参照します。今のところ、列は次のとおりです。したがって、変更する必要があります。???Datanavigateurlfields = "strNom" はコンテンツによって変化し、非常に具体的なページを参照します。

私は C# でプログラミングしただけで、はっきりしているといいのですが。いずれにせよ、本当にありがとう。

リーリクス

4

1 に答える 1

0

グリッドの datarowbound イベントでグリッド列にアクセスし、リンク ボタンのデータに従って int url を変更します

于 2012-04-18T11:49:22.880 に答える