کار زیباییست!
میشه متدی ایجاد کرد که به دنبال کلمه ی مورد نظر در رکوردهای Grid بگرده و در صورتی که اون رو پیدا کرد، به شکل یک فرمت دلخواه نمایش بده.
به عنوان مثال، در Firefox، اگر گزینه ی "Highlight all" رو انتخاب کنی، تمامی گزینه های مچ، با رنگ زرد، هایلایت خواهند شد.
این متد می تونه در زمان بایند داده ها به ItemTemplate ساختار TemplateField فراخونی بشه.
مشکلی که در اینجا وجود داره این هست که در یک رکورد ممکنه چندین کلمه ی مچ پیدا بشه و این کار رو کمی پیچیده می کنه!
در این حالت میشه از دلیگیت MatchEvaluator استفاده کرد.

متد ایجاد شده توسط تو شامل دو پارامتر خواهد بود. عبارت مورد جستجو و عبارتی که در آن جستجو می کنی.
کلاس Regex نیز در متد سازنده ی خود پذیرای عبارت مورد جستجو خواهد بود.
دلیگیت MatchEvaluator تنها در زمان استفاده از متد Replace کلاس Regex کاربرد خواهد داشت و با هر بار یافت شدن یک عبارت در رشته، فراخوانی می شود.
توجه داشته باش که این فراخوانی به معنای اجرای هر باره ی متد نیست! متد Regex در زمان پیدا شدن یک عبارت در یک رشته، کلاسی از نوع Match را برگشت خواهد داد که شامل اطلاعات رشته ی یافت شده است؛ و این عمل جستجو تا زمان رسیدن به پایان رشته انجام می شود.

کد توضیحات فوق:

Protected Function Highlight(ByVal searchFor As String, ByVal SearchIn As String) As String
Dim obj_Regex As New Regex(SearchFor)
Return obj_Regex.Replace(SearchIn, New MatchEvaluator(myReplaceMethod))
End Function


همون طور که میبینی، در دلیگیت MatchEvaluator، نام متدی آورده شده است. این بدان معناست که هر گاه رشته ای یافت شد، دلیگیت MatchEvaluator، متد myReplaceMethod را فراخوانی خواهد کرد.
این فراخوانی همراه با پاس دادن کلاس Match (که شامل اطلاعات رشته ی یافت شده است) به این متد خواهد بود.

پیاده سازی متد myReplaceMethod

Public Function myReplaceMethod(ByVal obj_Match As Match) As String
Return "<span class='highlight'>" + obj_Match .Value + "</span>"
End Function

مقدار برگشتی متد myReplaceMethod، یک تگ span خواهد بود که عبارت یافت شده را در بر می گیرد. میبینی که به خاصیت class تگ span، مقداری نسبت داده شده که می تونی اون رو در فایل CSS تعریف کنی. در حقیقت، عمل فرمت دهی به عبارت یافت شده را تگ span انجام خواهد داد.

نحوه ی استفاده از این تکنیک هم ساده ست!
کافیه که در ItemTemplate ساختار TemplateField، متد Highlight رو به شکل زیر فراخونی کنی:

<%# Highlight(myTextBoxValue, Eval("myField")) %>

myTextBoxValue رو یک متغیر Protected یا Public در نظر بگیر که می تونی به شکل یک Property تعریفش کنی و مقدار TextBox رو در اون قرار بدی.

موفق باشید.