You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 7 Next »

1.ModelSchema.msdx dosyasında "Invoice" model oluşturulur.

2. Faturaların listeleneceği liste ekranı oluşturulur. Grid oluşturma ile ilgili detaya  Veri kaynağına bağlı tablo kullanımı (Grid) linkinden erişilebilir.

Ek olarak detay sayfasına yönlendirme yapmak için ButtonColumn tipli kolon eklenir.

3. ButtonColumn görünümde düzenlemeler yapmak için aşağıdaki şekilde ButtonForCell olayı oluşturulur.


Grid buton kolonunun görünümü aşağıdaki şekilde düzenlenebilir.

private void LDPGrid1_ButtonForCell(LDP.Controls.HTML.Button createdButton, LDP.Controls.Misc.LDPGridEventsCellHandlerArgs args)
{   
	createdButton.Text = "Detaya Git"; //butonun metni
    createdButton.Style.Add("background-color", "#2f54eb"); //buton stil özellikleri eklenebilir.   
    createdButton.Style.Add("color", "white");        
}

4. Sayfa çalıştırıldığında aşağıdaki şekilde bir görünüm elde edilir.

5. "Detaya Git"  butonuna tıklandığında yönlendirme yapılacak sayfa hazırlanır.  (InvoiceDetail)
İlişkisel modele uygun sayfa tasarımı örneğindeki Invoice - Detail örneği kullanılabilir.

6.InvoiceDetail sayfasında InvoiceList sayfasından gelecek değere göre kaydı göstermek için öncelikle parametre eklenmelidir.
InvoiceDetail sayfasının Parameters özelliğinden parametre eklenir.

7. Eklenen parametre değeri ile kriter oluşturulur.
 Sayfa ilk yüklendiğinde kriterin uygulanmasını sağlamak için InvoiceDetail.ldpf.cs sayfasında oluşturulan kriter bindpanele bağlanır.

InvoiceDetail -> OnReady
protected override void OnReady()
{
    if (!this.XhrObject.IsXHRPost()) //sadece sayfa ilk yüklenirken aşağıdaki kodun çalışmasını sağlar.
    {
        if (PageControl.IsInputParamAssigned("invoiceId")) //parametre karşılığı varsa
        {
            Guid id = this.PageControl.ReadInputParam<Guid>("invoiceId");
            LDPBindPanel1.Criteria = NCriteriaBuilder<Invoice>.Where(s => (s.Id == id)).ToNCriteria(); //kriter olarak değer geçirilir.
            LDPBindPanel1.Bind();
         }
         else
            LDPBindPanel1.DataNew = true;
     }
     else
     {
         LDPBindPanel1.Criteria = null;
     }
}

Bindpanel bileşeni için AutoNew özelliği true seçilirse; kriter uygulanıp veri bind edildiğinde eğer herhangi bir veri gelmezse Bindpnanel otomatik olarak New moduna alınacaktır. 

8. Son durumda InvoiceList sayfasına geçilir ve InvoiceDetail sayfası çağrılır. 
Grid butonu için click olayı oluşturulur.

InvoiceList -> CellButtonClicked
private void LDPGrid1_CellButtonClicked(LDP.Controls.Misc.LDPGrid sender, LDP.Controls.Misc.LDPGridColumn column)
{
    Response.Redirect("InvoiceDetail?invoiceId=" + sender.DataAccess.ActiveRow["Id"]);
}

9. Proje çalıştırıldığında aşağıdaki şekilde listede bir butona tıklayarak detay bilgileri görüntülenebilir.