public BindClickHandler ( Slick.Grid grid ) : void | ||
grid | Slick.Grid | |
return | void |
public static void Init() { ActivitySubGridViewModel vm = new ActivitySubGridViewModel(); // Add resize height event jQuery.Window.Resize(delegate(jQueryEvent e) { OnChangeHeight(); }); // Create Grid FetchQuerySettings config = vm.ViewConfig; GridDataViewBinder dataViewBinder = new GridDataViewBinder(); Grid grid = dataViewBinder.DataBindXrmGrid(config.DataView, config.Columns, "gridcontainer", "gridpager", true, false); dataViewBinder.BindClickHandler(grid); // Data Bind ViewBase.RegisterViewModel(vm); Window.SetTimeout(delegate() { vm.Init(); OnChangeHeight(); grid.ResizeCanvas(); }, 0); }
public static void init() { MultiSearchViewModel2013 vm = new MultiSearchViewModel2013(); // Create Grids FetchQuerySettings[] searches = vm.Config.GetItems(); jQueryObject searchResultsDiv = jQuery.Select("#searchResults"); jQuery.Window.Resize(delegate(jQueryEvent e) { OnResizeSearchResults(searchResultsDiv); }); OnResizeSearchResults(searchResultsDiv); jQuery.Select(".sparkle-xrm").Bind("onmousewheel mousewheel DOMMouseScroll", OnSearchResultsMouseScroll); int i = 0; foreach (FetchQuerySettings config in searches) { List<Column> cardColumn = new List<Column>(new Column(ColumnProperties.Id, "card-column", ColumnProperties.Options,config.Columns, ColumnProperties.Name, "Name", ColumnProperties.Width, 290, ColumnProperties.CssClass, "card-column-cell")); cardColumn[0].Formatter = RenderCardColumnCell; cardColumn[0].DataType = "PrimaryNameLookup"; config.Columns[0].DataType = "PrimaryNameLookup"; // This is so that clicking on the column opens the record GridDataViewBinder dataViewBinder = new GridDataViewBinder(); GridOptions gridOptions = new GridOptions(); gridOptions.EnableCellNavigation = true; gridOptions.AutoEdit = false; gridOptions.Editable = false; gridOptions.EnableAddRow = false; // Set height to the number of columns int columns = config.Columns.Count; gridOptions.RowHeight = (columns>3? 3 : columns) * 16; ; if (gridOptions.RowHeight < 70) gridOptions.RowHeight = 70; gridOptions.HeaderRowHeight = 0; string gridId = "grid" + i.ToString() + "container"; DataViewBase dataView = config.DataView; Grid grid = new Grid("#" + gridId, dataView, cardColumn, gridOptions); grids[i] = grid; AddResizeEventHandlers(grid, gridId); dataViewBinder.DataBindEvents(grid, dataView, gridId); dataViewBinder.BindClickHandler(grid); i++; } // Data Bind ViewBase.RegisterViewModel(vm); }
public static void init() { MultiSearchViewModel vm = new MultiSearchViewModel(); PageEx.MajorVersion = 2013; // Create Grids FetchQuerySettings[] searches = vm.Config.GetItems(); int i = 0; foreach (FetchQuerySettings config in searches) { GridDataViewBinder dataViewBinder = new GridDataViewBinder(); Grid grid = dataViewBinder.DataBindXrmGrid(config.DataView, config.Columns, "grid" + i.ToString() + "container", "grid" + i.ToString() + "pager", true, false); dataViewBinder.BindClickHandler(grid); i++; } // Data Bind ViewBase.RegisterViewModel(vm); }
private static void InitLocalisedContent() { Dictionary<string, string> parameters; string id; string logicalName; int pageSize = 10; string defaultView=null; #if DEBUG id = "C489707F-B5E2-E411-80D5-080027846324"; logicalName = "account"; parameters = new Dictionary<string, string>(); #else parameters = PageEx.GetWebResourceData(); // The allowed lookup types for the connections - e.g. account, contact, opportunity. This must be passed as a data parameter to the webresource 'account=name&contact=fullname&opportunity=name id = ParentPage.Data.Entity.GetId(); logicalName = ParentPage.Data.Entity.GetEntityName(); ParentPage.Data.Entity.AddOnSave(CheckForSaved); #endif EntityReference parent = new EntityReference(new Guid(id), logicalName, null); string entities = "account,contact,opportunity,systemuser"; foreach (string key in parameters.Keys) { switch (key.ToLowerCase()) { case "entities": entities = parameters[key]; break; case "pageSize": pageSize = int.Parse(parameters[key]); break; case "view": defaultView = parameters[key]; break; case "category": category = int.Parse(parameters[key]); break; } } // Get the view QueryParser queryParser = new QueryParser(new string[] {"connection"}); queryParser.GetView("connection", defaultView); queryParser.QueryMetadata(); EntityQuery connectionViews = queryParser.EntityLookup["connection"]; string viewName = connectionViews.Views.Keys[0]; FetchQuerySettings view = connectionViews.Views[viewName]; vm = new ConnectionsViewModel(parent, entities.Split(","), pageSize, view); // Bind Connections grid GridDataViewBinder connectionsGridDataBinder = new GridDataViewBinder(); List<Column> columns = view.Columns; // Role2Id Column - provided it is in the view! foreach (Column col in columns) { switch (col.Field) { case "record2roleid": XrmLookupEditor.BindColumn(col, vm.RoleSearchCommand, "connectionroleid", "name,category", ""); break; case "description": XrmTextEditor.BindColumn(col); break; case "effectivestart": case "effectiveend": XrmDateEditor.BindColumn(col, true); break; } } connectionsGrid = connectionsGridDataBinder.DataBindXrmGrid(vm.Connections, columns, "container", "pager", true, false); connectionsGrid.OnActiveCellChanged.Subscribe(delegate(EventData e, object data) { OnCellChangedEventData eventData = (OnCellChangedEventData)data; vm.SelectedConnection.SetValue((Connection)connectionsGrid.GetDataItem(eventData.Row)); }); connectionsGridDataBinder.BindClickHandler(connectionsGrid); // Let's not use a hover button because it get's in the way of the editable grid! //RowHoverPlugin rowButtons = new RowHoverPlugin("gridButtons"); //connectionsGrid.RegisterPlugin(rowButtons); ViewBase.RegisterViewModel(vm); OverrideMetadata(); jQuery.Window.Resize(OnResize); jQuery.OnDocumentReady(delegate() { OnResize(null); vm.Search(); }); }