public static void Init() { PageEx.MajorVersion = 2013; jQuery.OnDocumentReady(delegate() { ValidationApi.RegisterExtenders(); // Init settings OrganizationServiceProxy.GetUserSettings(); SimpleEditableGridViewModel vm = new SimpleEditableGridViewModel(); // Create Grid GridDataViewBinder dataViewBinder = new GridDataViewBinder(); dataViewBinder.AddCheckBoxSelectColumn = true; dataViewBinder.SelectActiveRow = true; dataViewBinder.MultiSelect = false; List <Column> columns = new List <Column>(); EditorFactory textEditor = (EditorFactory)Script.Literal("Slick.Editors.Text"); XrmTextEditor.BindColumn(GridDataViewBinder.AddColumn(columns, "Title", 150, "title")); XrmTextEditor.BindColumn(GridDataViewBinder.AddColumn(columns, "Author", 150, "author")); XrmDateEditor.BindColumn(GridDataViewBinder.AddColumn(columns, "Published", 150, "publishdate"), true); XrmMoneyEditor.BindColumn(GridDataViewBinder.AddColumn(columns, "Price", 150, "price"), 0, 100); XrmNumberEditor.BindColumn(GridDataViewBinder.AddColumn(columns, "Copies", 150, "numberofcopies"), 0, 1000, 0); XrmLookupEditorOptions languageLookupOptions = (XrmLookupEditorOptions)XrmLookupEditor.BindColumn(GridDataViewBinder.AddColumn(columns, "Language", 150, "language"), vm.GetLanguages, "id", "name", null).Options; languageLookupOptions.showImage = false; OptionSetBindingOptions formatBindingOptions = new OptionSetBindingOptions(); formatBindingOptions.allowEmpty = true; formatBindingOptions.GetOptionSetsDelegate = vm.GetFormats; XrmOptionSetEditor.BindColumnWithOptions(GridDataViewBinder.AddColumn(columns, "Format", 150, "format"), formatBindingOptions); XrmDurationEditor.BindColumn(GridDataViewBinder.AddColumn(columns, "Audio Length", 150, "audiolength")); XrmTimeEditor.BindColumn(GridDataViewBinder.AddColumn(columns, "Start Time", 150, "starttime")); Grid grid = dataViewBinder.DataBindXrmGrid(vm.Books, columns, "booksGridContainer", null, true, true); ViewBase.RegisterViewModel(vm); Window.SetTimeout(delegate() { vm.LoadBooks(); grid.ResizeCanvas(); }, 0); }); }
public static void init() { ContactsEditorViewModel vm = new ContactsEditorViewModel(); OrganizationServiceProxy.GetUserSettings(); // Data Bind Grid List <Column> columns = GridDataViewBinder.ParseLayout(",entityState,20,First Name,firstname,200,Last Name,lastname,200,Birth Date,birthdate,200,Account Role Code,accountrolecode,200,Number of Children,numberofchildren,100,Currency,transactioncurrencyid,200,Credit Limit,creditlimit,100,Gender,gendercode,100,Owner,ownerid,100,Parent Customer,parentcustomerid,100"); // Set Column formatters and editors columns[0].Formatter = delegate(int row, int cell, object value, Column columnDef, object dataContext) { EntityStates state = (EntityStates)value; return(((state == EntityStates.Changed) || (state == EntityStates.Created)) ? "<span class='grid-edit-indicator'></span>" : ""); }; // First Name Column XrmTextEditor.BindColumn(columns[1]); // Last Name Column XrmTextEditor.BindColumn(columns[2]); // Birth Date Column XrmDateBindingOptions dateOptions = new XrmDateBindingOptions(); dateOptions.Hour = 9; dateOptions.Minute = 0; XrmDateEditor.BindColumn(columns[3], false).Options = dateOptions; // Account Code Column XrmOptionSetEditor.BindColumn(columns[4], "contact", columns[4].Field, true); // Number of Children Column XrmNumberEditor.BindColumn(columns[5], 0, 100, 0); // Currency Column XrmLookupEditor.BindColumn(columns[6], vm.TransactionCurrencySearchCommand, "transactioncurrencyid", "currencyname", ""); // Credit Limit Column XrmMoneyEditor.BindColumn(columns[7], -10000, 10000); // Another optionset XrmOptionSetEditor.BindColumn(columns[8], "contact", columns[8].Field, true); // Owner Column XrmLookupEditorOptions options = (XrmLookupEditorOptions)XrmLookupEditor.BindColumn(columns[9], vm.OwnerSearchCommand, "id", "name", "").Options; options.showFooter = true; // Account Column XrmLookupEditorOptions accountLookupOptions = (XrmLookupEditorOptions)XrmLookupEditor.BindColumn(columns[10], vm.AccountSearchCommand, "id", "name", "").Options; accountLookupOptions.showFooter = true; accountLookupOptions.footerButton = new XrmLookupEditorButton(); accountLookupOptions.footerButton.Label = "Add New"; accountLookupOptions.footerButton.Image = "/_imgs/add_10.png"; accountLookupOptions.footerButton.OnClick = vm.AddNewAccountInLine; // Create Grid GridDataViewBinder contactGridDataBinder = new GridDataViewBinder(); Grid contactsGrid = contactGridDataBinder.DataBindXrmGrid(vm.Contacts, columns, "container", "pager", true, false); // Data Bind ViewBase.RegisterViewModel(vm); Window.SetTimeout(delegate() { vm.Init(); }, 0); }