示例#1
0
        /// <summary>
        /// create a column in the dataGird model and also in the corresponding VM, depending on the type.
        /// (the UI wil be updated automatically).
        /// Create all empty cells (model and view model).
        /// </summary>
        /// <param name="typeCol"></param>
        /// <param name="newColName"></param>
        /// <param name="colObj"></param>
        /// <param name="gridColumnVM"></param>
        /// <returns></returns>
        public DynDataGridErrCode CreateColumnWithCells(GridColumnType typeCol, string newColName, object colObj, out IGridColumnVM gridColumnVM)
        {
            gridColumnVM = null;

            // create the col in the data model, depending on the type
            IGridColumn        column;
            DynDataGridErrCode errCode = _gridFactory.CreateColumn(_dynDataGrid, typeCol, newColName, colObj, out column);

            if (errCode != DynDataGridErrCode.Ok)
            {
                return(errCode);
            }

            // create a empty cell for each row in the dataGrid model
            foreach (IGridRow gridRow in _dynDataGrid.ListRow)
            {
                // depending on the type of the new column
                IGridCell cell = _gridFactory.CreateCell(_dynDataGrid, column, gridRow);

                gridRow.AddCell(cell);
            }

            // update the UI, add the colVM
            gridColumnVM = AddColumnVM(column);
            RaisePropertyChanged("CollColumnGrid");
            return(DynDataGridErrCode.Ok);
        }
示例#2
0
 internal GridColumn(GridColumnType type)
 {
     this.Type      = type;
     this.Formatter = (v, m) =>
     {
         if (v == null)
         {
             return(string.Empty);
         }
         return(v.ToString());
     };
 }
示例#3
0
        /// <summary>
        /// 添加Column
        /// </summary>
        /// <param name="fieldName"></param>
        /// <param name="header"></param>
        /// <param name="type"></param>
        /// <param name="setting"></param>
        /// <param name="width"></param>
        /// <returns></returns>
        public static GridColumnVm Create(string fieldName, string header, GridColumnType type, IColumnSetting setting, object width)
        {
            var result = new GridColumnVm(fieldName, header)
            {
                Width          = width,
                GridColumnType = type
            };

            if (setting == null)
            {
            }
            result.ColumnSetting = setting;
            return(result);
        }
示例#4
0
 public ModelOptions(GridColumnType columnType, string fieldName, IEnumerable <SelectListItem> data)
 {
     switch (columnType)
     {
     case GridColumnType.Select:
         FieldName     = fieldName;
         stype         = GridColumnType.Select.GetEnumName();
         searchoptions = new SearchOptions
         {
             sopt  = new[] { "eq" },
             value = GenerateSelectList(data)
         };
         break;
     }
 }
示例#5
0
        /// <summary>
        /// create the col in the data model, depending on the type.
        /// Provide an object to attach to the column.
        /// </summary>
        /// <param name="typeCol"></param>
        /// <param name="newColName"></param>
        /// <returns></returns>
        public DynDataGridErrCode CreateColumn(IDynDataGrid dataGrid, GridColumnType typeCol, string newColName, object colObj, out IGridColumn column)
        {
            column = null;

            // check the name
            DynDataGridErrCode errCode = CheckColumnName(dataGrid, newColName);

            if (errCode != DynDataGridErrCode.Ok)
            {
                return(errCode);
            }

            column = CreateColumn(typeCol, newColName, colObj);
            dataGrid.AddColumn(column);

            return(DynDataGridErrCode.Ok);
        }
示例#6
0
        /// <summary>
        /// create the col in the data model, depending on the type.
        /// Provide an object to attach to the column.
        /// </summary>
        /// <param name="typeCol"></param>
        /// <param name="newColName"></param>
        /// <returns></returns>
        protected IGridColumn CreateColumn(GridColumnType typeCol, string newColName, object colObj)
        {
            IGridColumn column;

            if (typeCol == GridColumnType.String)
            {
                column = new GridColumnString(newColName, colObj);
                return(column);
            }

            if (typeCol == GridColumnType.CheckBox)
            {
                column = new GridColumnCheckBox(newColName, colObj);
                return(column);
            }

            return(null);
        }
示例#7
0
        public GridColumn(GridColumnType type,
			string columnHeader,
			string fieldName,
			AlignAttribute align,
			bool isDefaultSortColumn,
			bool isClientSideSortable,
			string sorter,
			string actionName,
			IList<string> rows)
        {
            Type = type;
            ColumnHeader = columnHeader;
            FieldName = fieldName;
            Align = align;
            IsDefaultSortColumn = isDefaultSortColumn;
            IsClientSideSortable = isClientSideSortable;
            Sorter = sorter;
            ActionName = actionName;
            Rows = rows;
            Count = rows.Count;
        }
示例#8
0
 /// <summary>
 /// Create
 /// </summary>
 /// <param name="fieldName"></param>
 /// <param name="header"></param>
 /// <param name="gridColumnType"></param>
 /// <param name="width"></param>
 /// <returns></returns>
 public static GridColumnVm Create(string fieldName, string header, GridColumnType gridColumnType, object width)
 {
     return(Create(fieldName, header, gridColumnType, null, width));
 }
示例#9
0
 public GridColumnBuilder <T> View(string view)
 {
     _view = view;
     _type = GridColumnType.FixedView;
     return(this);
 }
示例#10
0
 public GridColumnBuilder <T> Template(Func <dynamic, HelperResult> template)
 {
     _template = template;
     _type     = GridColumnType.Template;
     return(this);
 }
示例#11
0
 public GridColumnBuilder(Expression <Func <T, object> > expression, HtmlHelper helper)
 {
     _expression = expression;
     _helper     = helper;
     _type       = GridColumnType.Convention;
 }
示例#12
0
 /// <summary>
 /// create a column in the dataGird model and also in the corresponding VM, depending on the type.
 /// (the UI wil be updated automatically).
 /// </summary>
 /// <param name="typeCol"></param>
 /// <param name="newColName"></param>
 /// <param name="colObj"></param>
 /// <param name="gridColumnVM"></param>
 /// <returns></returns>
 public DynDataGridErrCode CreateColumnWithCells(GridColumnType typeCol, string newColName, out IGridColumnVM gridColumnVM)
 {
     return(CreateColumnWithCells(typeCol, newColName, null, out gridColumnVM));
 }
示例#13
0
    protected virtual void AddNewColumns(object sender, Type itemType, TypeCode dataType, GridColumnType type)
    {
        var columnCollection = ((PXGrid)sender).Columns;
        IEnumerable <PXGridColumn> columns = columnCollection.Cast <PXGridColumn>();
        var newFields = ds.DataGraph.Caches[itemType].Fields
                        .Where(f => f.StartsWith(InventoryMatrixEntry.Template) && char.IsDigit(f.Last()) &&
                               !columns.Any(c => string.Compare(c.DataField, f, true) == 0));

        foreach (var newField in newFields)
        {
            columnCollection.Add(new PXGridColumn()
            {
                DataField = newField, DataType = dataType, Type = type
            });
        }
    }