Search Results for

    Show / Hide Table of Contents

    Custom Grid Code

    Anything created with the Custom Grid Auto-Code Designer is capable of having that design exported into actual c# code for you to add to you own .net library that can be loaded as an Add-In [see more] in LemonEdge.


    Code

    The Auto-Code designer will export the following:

    • The definition of the grid itself
      • You can modify any part of this class
    • The list of all columns in the grid along with any of their custom behaviour/formatting
      • You can modify this column list
    Note

    See our API-Code section for more information about using our API to create you own grids and other UI components.


    Example

    As a simple example, continuing our Insurance mock entity from the Custom Entity example [more info] we could create a simple grid that holds the name and currency of our mock insurance contracts. The system would create the following code for us:

    /*
    
    Auto Generated file by LemonEdge © 2020
    Warning: Any changes to this file will be overwritten if it is regenerated.
    
    */
    
    using System;
    using System.Collections.Generic;
    using System.Collections.Concurrent;
    using System.Text;
    using LemonEdge.Entities;
    using LemonEdge.API.Core;
    using LemonEdge.API.Entities;
    using System.Linq;
    using System.Threading.Tasks;
    using System.Reflection;
    using LemonEdge.Core;
    using System.ComponentModel.DataAnnotations;
    using System.ComponentModel;
    using System.Runtime.Serialization;
    using LemonEdge.API.Attributes;
    using LemonEdge.Client.Core.Views.Core;
    
    namespace LemonEdge.Client.Views
    {
    
    
    
    	public class ContractsGridController : BaseGridController
    	{
    
    		public ContractsGridController(IBaseGrid view) : base(view) { }
    
    		protected override IEnumerable ColumnNames() =>
    			new ControlDisplayInfoLight[]
    			{
    				new ControlDisplayInfoLight(nameof(IInsuranceContract.Name), editable: true) { Width = ControlDisplayInfo.DEFAULT_CONTROL_WIDTH_NORMAL, UserFriendlyColumnName = "Name", AggregateFunction = LemonEdge.Utils.Database.AggregateFunction.None, Format = "", Visible = true, GroupKey = "" },
    				new ControlDisplayInfoLight(nameof(IInsuranceContract.CurrencyID), editable: true) { Width = ControlDisplayInfo.DEFAULT_CONTROL_WIDTH_NORMAL, UserFriendlyColumnName = "Currency", AggregateFunction = LemonEdge.Utils.Database.AggregateFunction.None, Format = "", Visible = true, GroupKey = "" },
    			};
    
    		public override bool AutoOpenNewItemInTab => true;
    		public override bool AllowOpenCommand => true;
    
    	}
    
    
    
    }
    
    Note

    See our API-Code section for more information about using our API to create you own grids and other UI components.

    In this article
    Back to top © LemonEdge Technologies. All rights reserved.