Versions Compared

Key

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

Aşağıda adımları gösterilen örnek projeyi RelationalModel_Release112023.rar linkinden indirebilirsiniz. (InvoiceList.ldpf ve InvoiceDetail.ldpf sayfaları)

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ı (GridDataGrid) linkinden erişilebilir.

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

...

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

	// createdButton.IconClass = ("fa fa-edit"); 
}

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

...

Code Block
languagec#
titleInvoiceDetail -> OnReady
linenumberstrue
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;
     }
}
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. 

...

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

...