Page History
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 4 - 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 | ||||
---|---|---|---|---|
| ||||
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.
5. "Detaya Git" butonuna tıklandığında yönlendirme yapılacak sayfa hazırlanır. (InvoiceDetail)
5 - İlişkisel modele uygun sayfa tasarımı örneğindeki Invoice - Detail örneği kullanılabilir.
...
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
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 | ||||||
---|---|---|---|---|---|---|
| ||||||
private void LDPGrid1_CellButtonClicked(LDP.Controls.Misc.LDPGrid sender, LDP.Controls.Misc.LDPGridColumn column) { Response.Redirect("InvoiceDetail?invoiceId=" + senderLDPGrid.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.