Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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

2. Faturaların listeleneceği liste ekranı oluşturulur. Grid oluşturma ile ilgili detaya  4 - 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.

Code Block
languagec#
linenumberstrue
        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", "lightblue#2f54eb"); //buton stil özellikleri eklenebilir.      
     createdButton.Style.Add("color", "white");        
}

64. Sayfa çalıştırıldığında aşağıdaki şekilde bir görünüm elde ediliyoredilir.Image Added

75. "Detaya Git"  butonuna tıklandığında yönlendirme yapılacak sayfa hazırlanır. 
8.FaturaDetay sayfasında FaturaListe (InvoiceDetail)
5 - İ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.
FaturaDetay InvoiceDetail sayfasının özelliklerinden Parameters üzerinden özelliğinden parametre eklenir.
9Image Added
7. Eklenen parametre değeri ile kriter oluşturulur.
10. Sayfa  Sayfa ilk yüklendiğinde kriterin uygulanmasını sağlamak için FaturaDetayInvoiceDetail.ldpf.cs sayfasında oluşturulan kriter bindpanele bağlanır.

Code Block
languagec#
titleInvoiceDetail -> OnReady
linenumberstrue
protected override void OnReady()
{
    if (!this.XhrObject.IsNotXHRPostIsXHRPost()) //sadece sayfa ilk yüklenirken buaşağıdaki kodkodun çalışırçalışmasını sağlar.
    {
        if (PageControl.IsInputParamAssigned("invoiceId")) //parametre karşılığı varsa
        {
            Guid id = this.PageControl.ReadInputParam<Guid>("invoiceId");
            LDPBindPanel1.Criteria = LDPCriteria1.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;
     }
}
Tip

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. 

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

Code Block
languagec#
titleInvoiceList -> CellButtonClicked
linenumberstrue
private void LDPGrid1_CellButtonClicked(LDP.Controls.Misc.LDPGrid sender, LDP.Controls.Misc.LDPGridColumn column)
{
    Response.Redirect("FaturaDetayInvoiceDetail?faturaIdinvoiceId=" + sender.DataAccess.ActiveRow["Id"]);
}

9.