Bir liste üzerindeki farklı alanlar için editörler üzerinden arama kriterlerini yazarak arama yapılmasını sağlayan bir örnektir.

1.Veri kaynağına bağlı tablo kullanımı (DataGrid) dokümanı ile Grid 'in nasıl oluşturulduğu ve veri eklendiği incelebilir.

Ardından yeni bir ldp sayfasında ya da önceden oluşturulan Grid sayfasının üstüne filtrelemeyi sağlayacak aşağıdaki alanlar ve aksiyonları alacak butonlar eklenir.

2. Listele butonu için bir event yaratılır. 

private void LDPButton1_Click(LDP.Controls.UIContracts.Base.ILDPControl sender)
{
     NCriteriaBuilder<Invoice> criteriaBuilder = NCriteriaBuilder<Invoice>.Empty();
     if (LDPTextEdit1.Text.Assigned())
        criteriaBuilder = criteriaBuilder.And(s => s.InvoiceNumber.Contains(LDPTextEdit1.Text));
     if (LDPDateTimeEdit1.DateTime.Assigned())
        criteriaBuilder = criteriaBuilder.And(s => s.InvoiceDate > LDPDateTimeEdit1.DateTime);
     if (LDPDateTimeEdit2.DateTime.Assigned())
        criteriaBuilder = criteriaBuilder.And(s => s.InvoiceDate < LDPDateTimeEdit2.DateTime);

      LDPGrid1.Criteria = criteriaBuilder.ToNCriteria();
      LDPGrid1.DataFirst = true;
}


3. Temizle butonu için de ikinci bir event oluşturularak ve kriter temizle kodu yazılır. 


private void LDPButton2_Click(LDP.Controls.UIContracts.Base.ILDPControl sender)
{
   LDPGrid1.Criteria = null;
   LDPGrid1.Bind();
}


4. Proje çalıştırılır ve FilterInvoice sayfasında arama işlemleri aşağıdaki şekilde kontrol edilebilir.