Create Catalog Form
Tue Aug 30 2022 05:50:25 GMT+0000 (UTC)
public void ShowFormXXXCatalog() { new FormEx<XF_CatalogMain>() .LoadForm(form => { form.Text = "ТЕКСТ НА ФОРМАТА"; // Слагаме го, ако искаме формата да се визуализира на цял екран form.WindowState = FormWindowState.Maximized; // Ако имаме търсене по дата, оставяме тези променливи и ги използваме после във (void refresh()) за да филтрираме //form.layFromDate.Text = "От:"; //form.layToDate.Text = "До:"; //form.FromDate.DateTime = new DateTime(2000, 1, 1); //form.ToDate.DateTime = DateTime.Now.Date; // В противен случай премахваме датите form.layFromDate.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Never; form.layToDate.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Never; // Заменяме XXXName с името по което ще търсим var XXXName = form.AddTextEditToFilter("Наименование:"); // Премахване на бутоните за изтриване, преглед и експорт form.gridViewOrders.Columns.Remove(form.col_Delete); form.gridViewOrders.Columns.Remove(form.col_Preview); form.btnExport.Visibility = DevExpress.XtraBars.BarItemVisibility.Never; // Добавяме модела към грида и байндваме пропъртитата var model = new CatalogCM(); form.AddColumnToGridView("ID", nameof(model.ID)); form.AddColumnToGridView("Описание", nameof(model.Description)); void refresh() { // Заменяме CatalogCM с истинския поко модел var predicate = PredicateBuilder.True<CatalogCM>(); if (!string.IsNullOrWhiteSpace(XXXName.Text)) { predicate = predicate.And(p => p.Description.ToLower().Contains(XXXName.Text.ToLower())); } // Разкоментираме ако имаме търсене по дата //var fromDate = form.FromDate.DateTime; //var toDate = form.ToDate.DateTime; //predicate = predicate.And(x => x.From > fromDate && x.To <= toDate); // Заменяме list с извикване на сървиса и взимане на реалните данни var list = new List<CatalogCM>() { new CatalogCM { ID = 1, Description = "Описание" }, new CatalogCM { ID = 2, Description = "Тест" } }.AsQueryable().Where(predicate).ToList(); form.gridControlOrders.SetDataSource(list); } void clear() { XXXName.EditValue = string.Empty; } clear(); refresh(); form.btnClear.Click += (s, e) => clear(); form.btnSearch.Click += (s, e) => refresh(); form.AddBarButton("Нов XXX", JResources.Nov).ItemClick += (s, e) => { if (this.ShowFormXXXNew() == DialogResult.Yes) { refresh(); } }; form.gridViewOrders.RowCellClick += (s, e) => { var row = form.gridViewOrders.GetRow(e.RowHandle) as CatalogCM; if (row == null) { return; } if (e.Clicks == 2 || e.Column == form.col_Edit) { if (this.ShowFormXXXEdit(row.ID) == DialogResult.Yes) { refresh(); } } }; }) .ShowDialog(); }
Comments