2016-12-05 6 views
1

私はsqlのデータソースでgridviewを持っています。現在、全保証人である列の1つは、すべてのデータが同じページにリンクされています。しかし、私はヘッダー '合計列'のハイパーリンクを作成するか、Total保証者列のデータの代わりに他のページをクリックしたいと考えています。 他のページへのハイパーリンクをgrdviewカラムにする方法は?

  <asp:HyperLinkField DataTextField="Total Guarantor" DataNavigateUrlFields="Total Guarantor" DataNavigateUrlFormatString="guarantoedetails.aspx?custno={0}" Text="Total Guarantor" HeaderText="Total Guarantor" /> 

+0

だから、何をしようとしていることは、あなたが合計欄をクリックしたとき、それは詳細を別のページにリダイレクトする必要があり、関連する行データを取得することです。それは...ですか? –

+0

いいえ、現在、合計列のデータはハイパーリンクされています(コードと同じように)他のページにリダイレクトされています。データの代わりに、Total列(Header)を他のページへのハイパーリンクにします。 – mir

+0

ヘッダーはHyperLinkとして作成できます。しかし、そうすることのポイントは何ですか?また、他のページにどのようにリダイレクトすると思いますか? –

答えて

0

あなたはこのためにOnRowCreatedイベントを使用することができます。以下

は、私が使用したコードです。

protected void GridView1_RowCreated(object sender, GridViewRowEventArgs e) 
{ 
    //check if the row is the header row 
    if (e.Row.RowType == DataControlRowType.Header) 
    { 
     //the header cell number where to put the link 
     int cellNumber = 1; 

     //cast the cell in the header 
     TableCell headerCell = e.Row.Cells[cellNumber]; 

     //create a hyperlink 
     HyperLink link = new HyperLink(); 
     link.Text = "myLink"; 
     link.NavigateUrl = "/otherPage.aspx"; 

     //remove existing controls from the cell 
     headerCell.Controls.Clear(); 

     //add the hyperlink to the cell 
     headerCell.Controls.Add(link); 
    } 
} 

VB

Protected Sub GridView1_RowCreated(ByVal sender As Object, ByVal e As GridViewRowEventArgs) 
    'check if the row is the header row 
    If (e.Row.RowType = DataControlRowType.Header) Then 
     'the header cell number where to put the link 
     Dim cellNumber As Integer = 1 

     'cast the cell in the header 
     Dim headerCell As TableCell = e.Row.Cells(cellNumber) 

     'create a hyperlink 
     Dim link As HyperLink = New HyperLink 
     link.Text = "myLink" 
     link.NavigateUrl = "/otherPage.aspx" 

     'remove existing controls from the cell 
     headerCell.Controls.Clear 

     'add the hyperlink to the cell 
     headerCell.Controls.Add(link) 
    End If   
End Sub 
関連する問題