public String Build(ITable table) { XNamespace ns = XamlBuilder.XamlNamespace; String propNames = table.GetBaseTable().Plural; var doc = new XElement( new XElement(ns + "Dialog", new XElement(ns + "Dialog.Buttons", new XElement(ns + "Button", new XAttribute("Content", "Обрати"), new XAttribute("Command", $"{{BindCmd Select, Argument={{Bind {propNames}}}}}") ), new XElement(ns + "Button", new XAttribute("Content", "Закрити"), new XAttribute("Command", "{BindCmd Close}") ) ), _dataGridBuilder.BuildDataGrid(table, propNames) ) ); return(doc.SetStyle(_styles).ToString()); }
public String IndexView(ITable table) { if (!table.HasFeature(Feature.index)) { return(null); } var baseTable = table.GetBaseTable(); XNamespace ns = XamlBuilder.XamlNamespace; var doc = new XElement( new XElement(ns + "Page", new XElement(ns + "Page.CollectionView", new XElement(ns + "CollectionView", new XAttribute("RunAt", "ServerUrl"), new XAttribute("ItemsSource", $"{{Bind {baseTable.Plural}}}") ) ) ) ); var tb = new XElement(ns + "Toolbar", CreateToolbarButtons(table), new XElement(ns + "Button", new XAttribute("Icon", "Reload"), new XAttribute("Content", "Оновити"), new XAttribute("Command", "{BindCmd Reload}") ) ); doc.Add(new XElement(ns + "Page.Toolbar", tb)); doc.Add( new XElement(ns + "Page.Pager", CreatePager("Parent.Pager") ) ); doc.Add(_dataGridBuilder.BuildDataGrid(baseTable, "Parent.ItemsSource")); return(doc.ToString()); }