C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[2]: GridViewで特定の単語を強調表示したい


(過去ログ 72 を表示中)

[トピック内 3 記事 (1 - 3 表示)]  << 0 >>

■42395 / inTopicNo.1)  GridViewで特定の単語を強調表示したい
  
□投稿者/ サトシ (25回)-(2009/10/15(Thu) 00:17:48)

分類:[ASP.NET (VB)] 

以前AccessDataSourceのデータの絞込み方法の件でお世話になった
http://bbs.wankuma.com/search.cgi?no=0&word=GridView%82%CC%8Di%8D%9E%82%DD%95%5C%8E%A6&andor=and&logs=70.txt&PAGE=20
の続きの質問です。

GridViewでhatenaの様に検索キーワードのbackground-colorを黄色にしたいのですが
http://k.hatena.ne.jp/keywordblog/ASP.NET
その方法がわかりません。アドバイス頂けると助かります。

グーグルで調べた結果、DataGridで実現する方法を紹介したページを見付ける事ができましたが
このページの情報を参考に、同じ事をGridViewで実現しようと思いましたがわかりませんでした。
http://www.atmarkit.co.jp/fdotnet/dotnettips/088highlightdg/highlightdg.html
↓DataGridで実装する方法
Private  Sub MyGrid_ItemBound(ByVal sender As Object, ByVal e As DataGridItemEventArgs)
    If e.Item.ItemType = ListItemType.Item Then
        Dim cell As TableCell
        For Each cell In e.Item.Cells
            cell.Text = cell.Text.Replace(".NET", "<B Style='background-color:yellow'>.NET</B>")
        Next
    End If
End Sub

↓GridViewで実装するには???
Protected Sub GridView1_DataBound???(ByVal sender As Object, ByVal e As System.EventArgs)
    Dim cell As TableCell???
    For Each cell In GridView1.Rows???
        ?????
        
    Next
End Sub
ご指導よろしくお願いします。

引用返信 編集キー/
■42397 / inTopicNo.2)  Re[1]: GridViewで特定の単語を強調表示したい
□投稿者/ やじゅ (1383回)-(2009/10/15(Thu) 01:41:33)
やじゅ さんの Web サイト
No42395 (サトシ さん) に返信
>cell.Text = cell.Text.Replace(".NET", "<B Style='background-color:yellow'>.NET</B>")

GridView1_RowDataBoundイベント内で、データ行のみ(e.Row.RowType == DataControlRowType.DataRow)
行の列数分ループし(e.Row.Cells.Count回)、検索対象文字か判断して、対象文字が見つかれば置換する。
http://dhive.jp/blog/yama/?p=1139

引用返信 編集キー/
■42464 / inTopicNo.3)  Re[2]: GridViewで特定の単語を強調表示したい
□投稿者/ サトシ (26回)-(2009/10/16(Fri) 00:11:40)
No42397 (やじゅ さん) に返信
> ■No42395 (サトシ さん) に返信
> >cell.Text = cell.Text.Replace(".NET", "<B Style='background-color:yellow'>.NET</B>")
> 
> GridView1_RowDataBoundイベント内で、データ行のみ(e.Row.RowType == DataControlRowType.DataRow)
> 行の列数分ループし(e.Row.Cells.Count回)、検索対象文字か判断して、対象文字が見つかれば置換する。
> http://dhive.jp/blog/yama/?p=1139

やじゅさん、アドバイスありがとうございました。
以下のコードで、Hatenaと同じように、特定の単語を強調表示にし、背景をクリーム色にする
ことが出来ました。本当にありがとうございました。

Protected Sub GridView1_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs)
    If e.Row.RowType = DataControlRowType.DataRow Then
        For i As Integer = 0 To e.Row.Cells.Count - 1
            e.Row.Cells(i).Text = e.Row.Cells(i).Text.Replace("三郎", "<B Style='background-color:#fff495'>三郎</B>")
        Next
    End If
End Sub

解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -