2017-12-04 9 views
1

私はクエリがあり、その出力はgridviewに移ります。 gridviewの列は固定されていません。つまり、最初の列を除いて、残りの列数は異なる場合があります。C#用のハイパーリンク列を自動的に生成するgridview

出力テーブルの構造は、おおよそ次のとおりです。

name | week1 | week2 
    stu1 | 23 | 0 
    stu2 | 45 | 6 

週間なしが静的ではないので、列数が変化します。 セルの値が0より大きいセルでハイパーリンクを生成することはできますか?可能であれば、数字をクリックして行と列のインデックスを取得し、詳細を別のページにリダイレクトする方法は?

MSDNに与えられたとして、あなたは、RowDataBoundイベントでそれを行うことができます
+0

は、GridViewのコードを示しています。 – AsifAli72090

答えて

0

GridView.RowDataBound Event

void CustomersGridView_RowDataBound(Object sender, GridViewRowEventArgs e) 
    { 
    if(e.Row.RowType == DataControlRowType.DataRow) 
    { 
     for(var cell in e.Row.Cells) 
     { 
     int val = 0; 
     if(int.TryParse(cell.Text,out val) 
     { 
     //you can have hyper link here 
     if(val > 0) 
     cell.Text = "<a href='void(0);'>" + cell.Text + "</a>"; 
     } 
     } 

    } 
    } 
+0

'e.Row.Cells [0] .Add(新しいHyperLink(){Text =" cell.Text "});'? – Toshi

+0

@Toshi - そうだが、なぜ新しいクラスを作成するのか... htmlタグを置くほうが良いので、オブジェクト作成はありません。 –

関連する問題