1

必要なすべてのデータをDataTableに入力しています。[プロセス]列にハイパーリンクを保持して、クリックしたときに特定のページに移動するようにします(プロセス名に基づく)。

これは私がこれまでに持っているコードです:

Object[] row = new Object[7];
HyperLink link = new HyperLink();
link.Text = Process.ToString();
link.NavigateUrl = String.Format("~/IndexSummary?Process={0}", Process.ToString());
row[0] = link;

//...Fill in rest of row

dt.LoadDataRow(row,false);

GridView1.DataSource = dt;
GridView1.DataBind();

このコードを実行すると、すべての行に「System.Web.UI.WebControls.HyperLink」が表示されます。これは私のGridViewコードです:

<asp:GridView ID="GridView1" runat="server" CellPadding="3"
        ForeColor="#333333" GridLines="None"
        AllowSorting="True" SortedAscendingHeaderStyle-CssClass="sortasc-header" 
        SortedDescendingHeaderStyle-CssClass="sortdesc-header" AutoGenerateSelectButton="True"
        AllowPaging="True" PageSize="17" PagerSettings-Mode="NextPreviousFirstLast" 
        ShowHeaderWhenEmpty="True" PagerStyle-Font-Names="WebDings" PagerStyle-Font-Size="Medium"
        PagerSettings-FirstPageText=" 7 " PagerSettings-PreviousPageText=" 3 " 
        PagerSettings-NextPageText=" 4 " PagerSettings-LastPageText=" 8 " 
          Font-Size="Small" onselectedindexchanged="GridView1_SelectedIndexChanged" 
          onpageindexchanging="GridView1_PageIndexChanging" 
    onsorting="GridView1_Sorting">
        <AlternatingRowStyle BackColor="White" ForeColor="#333333" />
        <EditRowStyle BackColor="#999999" />
        <FooterStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
        <HeaderStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />

<PagerSettings FirstPageText=" 7 " LastPageText=" 8 " Mode="NextPreviousFirstLast"     NextPageText=" 4 " PreviousPageText=" 3 "></PagerSettings>

        <PagerStyle BackColor="#5D7B9D" ForeColor="White" HorizontalAlign="Center" />
        <RowStyle BackColor="#DCE2E8" ForeColor="#333333" />
        <SelectedRowStyle BackColor="#E2DED6" Font-Bold="True" ForeColor="#333333" />

<SortedAscendingHeaderStyle CssClass="sortasc-header"></SortedAscendingHeaderStyle>

<SortedDescendingHeaderStyle CssClass="sortdesc-header"></SortedDescendingHeaderStyle>
     </asp:GridView> 

ハイパーリンクを正しく表示するようにこれを変更するにはどうすればよいですか?

4

1 に答える 1

1

他の誰かを助けることができる場合に備えて、私の質問に答えるために戻ってきます:

次のように、RowDataBoundイベントにハイパーリンクを追加する必要がありました。

       protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
       {
        String Process = e.Row.Cells[0].Text;
        HyperLink link = new HyperLink();
        link.Text = Process;
        link.NavigateUrl = String.Format("~/IndexSummary.aspx?Process={0}&Machine={1}&Date={2}", Process, Request.QueryString["Machine"], Request.QueryString["Date"]);
        e.Row.Cells[0].Controls.Add(link);

       }
于 2012-07-27T14:59:47.943 に答える