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 "StudentInvoice" model oluşturulur.
2. Öğrencilerin Faturaların listeleneceği liste ekranı oluşturulur. Grid oluşturma ile ilgili detaya Veri kaynağına bağlı tablo kullanımı (DataGrid) 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 | ||||
---|---|---|---|---|
| ||||
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"); // createdButton.IconClass = ("fa fa-edit"); } |
64. Sayfa çalıştırıldığında aşağıdaki şekilde bir görünüm elde ediliyoredilir.
75. "Detaya Git" butonuna tıklandığında yönlendirme yapılacak sayfa hazırlanır.
8.StudentDetail sayfasında StudentList (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.
StudentDetail InvoiceDetail sayfasının özelliklerinden Parameters üzerinden özelliğinden parametre eklenir.
9
7. Eklenen parametre değeri ile kriter oluşturulur.
10. Sayfa Sayfa ilk yüklendiğinde kriterin uygulanmasını sağlamak için StudentDetailInvoiceDetail.ldpf.cs sayfasında oluşturulan kriter bindpanele bağlanır.
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
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; } } |
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 StudentList InvoiceList sayfasına geçilir ve StudentDetail InvoiceDetail sayfası çağrılır.
Butonun Grid butonu için click olayı oluşturulur.
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
private void LDPGrid1_CellButtonClicked(LDP.Controls.Misc.LDPGrid sender, LDP.Controls.Misc.LDPGridColumn column) { Response.Redirect("StudentDetailInvoiceDetail?studentIdinvoiceId=" + 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.