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();
}