.Net Denemeleri

QueryExtender İle Kolay Arama

Geçenlerde bir takım verileridata WebForm' unda görüntülememView ve filtrelememFilter|Search gerekti (zaman da dar bu arada).

Bakın ne yaptım;

  1. TextBox kontrolü ekledim. ID özelliği productname
  2. Button kontrolü ekledim. Text özelliği Ara
  3. GridView kontrolü ekledim. ID özelliği allproducts
  4. EntityDataSource bileşeniComponent ekledim ve tüm ürünleri çektim. ID özelliği EntityDataSource1.
  5. GridView kontrolüne EntityDataSource1 ID özellikli bileşenini bağladım.
  6. QueryExtender bileşeni ekledim. Aşağıdaki gibi ayarladım;
<asp:QueryExtender ID="QueryExtender1" runat="server" TargetControlID="EntityDataSource1">
 <asp:SearchExpression DataFields="ProductName" SearchType="StartsWith">
  <asp:ControlParameter ControlID="productname" />
 </asp:SearchExpression>
</asp:QueryExtender>
  1. Button kontrolünün Click olayınaEvent aşağıdaki kodu yazdım.
protected void Button1_Click(object sender, EventArgs e)
{
    QueryExtender1.DataBind();
}

Alternatif olarak; TextBox kontrolünün Autopostback özelliğini True olarak ayarlanırsa Button kontrolüne ihtiyaç kalmadan da filtrelemeyi tetiklemek mümkün olur.

Biraz açıklama:
QueryExtender, Framework 4.0 bileşenidir. LINQ ifadeleri için geliştirilmiş Expressionlaraİfade sahiptir.
Örneğimizde SearchExpression kullandık. Nasıl kullandık?
DataFields özelliği ile filtre uygulanacak alanı belirledik.(Daha fazla alan virgül ile belirtilebilir) Bu özellik klasik Sql sorgusunda where ifadesinden sonra kullanılan fieldAlan tanımlaması gibi düşünebilir.
SearchType özelliği ise like ifadesinin karşılığıdır. StartsWith 'parametre%', EndsWith '%parametre' ve Contains '%parametre%' gibi çalışır.
Son olarak filtreleme için kullanılacak parametre kaynağını belirtmek. Bu bir kontrol olabileceği gibi session, cookie gidi kaynaklar da olabilir.

QueryExtender

Projeyi indirmek için tıklayın.

3 Nisan Pazar, 2011 | Ado.Net Asp.net

Yorumlar

hasan

teşekkür ederim yararlı oldu.

26 Ekim Çarşamba, 2011

Yorumlar Yaz