예제 #1
0
        protected override void VisitAllColumns(AllColumns item)
        {
            var entityName = this.CurrentRequest.Target.LogicalName;

            base.AddAllColumnMetadata(entityName, null);
            RetrieveOutputRequest.ColumnSet.AllColumns = true;
        }
예제 #2
0
        /// <summary>
        /// 重新组合SQL语句(带上有效时间和删除标识)
        /// </summary>
        ///<param name="select"></param>
        private void RepackSelectSQL(SelectBuilder select)
        {
            var projections = select.Projection;
            var tables      = select.Sources;

            var where = select.Where;
            int fieldCount = projections.Count();

            if (fieldCount > 0)
            {
                var arryProjections = projections.ToArray();
                for (int i = 0; i < fieldCount; i++)
                {
                    IProjectionItem item = arryProjections[i].ProjectionItem;
                    if (item is AllColumns)//*
                    {
                        AllColumns currItem = item as AllColumns;
                        //移除掉重新构建
                        select.RemoveProjection(arryProjections[i]);
                        HandleSelectStarStatement(select, currItem);
                    }
                    else if (item is Column)
                    {
                        Column currItem = item as Column;
                        HandleSelectStatement(select, arryProjections[i], currItem);
                    }
                }
            }
            HandlerInFilterWhere(where);

            ParserWhere(select);
        }
        void IGridContainer.AddColumn(IGridColumn column)
        {
            if (column.Field == null && column.Id == null)
            {
                if (GroupBy == null)
                {
                    column.Id = Guid.NewGuid().ToString();
                }
                else
                {
                    throw new Exception("Field and Id can not be null");
                }
            }

            if (column.Field != null)
            {
                column.Id = column.Field + column.Format?.GetHashCode();
            }

            var col = Columns.FirstOrDefault(c => c.Id == column.Id);

            column.Type = typeof(TItem);
            if (col == null)
            {
                Columns.Add(column);
            }
            //If the grid is grouped we need access to all columns (one set per group)
            AllColumns.Add(column);

            StateHasChanged();
        }
        protected virtual void GenerateClientVisibleColumns(StringBuilder stb, string localVarName)
        {
            var clientGridViewColumns = localVarName + ".columns";


            var result = AllColumns.Where(x => x.Visible);

            if (Settings.ShowGroupedColumns == false)
            {
                result = result.Where(x => x.NotGrouped());
            }

            result = result.OrderBy(x => x.VisibleIndex);


            var resultArrayScript = result
                                    .ToObjectArrayScript(
                x => "ASPxClientGridViewVisibleColumn".CreateNewInstanceScript(
                    clientGridViewColumns.CreateItemSelectorScript(x.Index),
                    x.VisibleIndex.ToScript()
                    )
                );

            stb.AppendFormat("{0}.visibleColumns = {1};\n", localVarName, resultArrayScript);
        }
예제 #5
0
        private DataTable BuildDataTableTemplate()
        {
            var result = RightTable.Clone();

            foreach (var column in NonPrimaryColumns)
            {
                var columnType = result.Columns[column.Name].DataType;
                result.Columns.Remove(column.Name);
                var leftColumnName  = ColumnNameBuilder.BuildColumName(LeftTableAlias, column.Name);
                var rightColumnName = ColumnNameBuilder.BuildColumName(RightTableAlias, column.Name);
                result.Columns.Add(leftColumnName, columnType);
                result.Columns.Add(rightColumnName, columnType);
            }

            foreach (var columnName in CompareColumnNames)
            {
                var column = AllColumns.FirstOrDefault(c => c.Name.Equals(columnName));
                if (column != null)
                {
                    var gapColumnName     = ColumnNameBuilder.BuildGapColumnName(column.Name);
                    var compareColumnName = ColumnNameBuilder.BuildCompareResultColumnName(column.Name);

                    result.Columns.Add(gapColumnName, typeof(double));
                    result.Columns.Add(compareColumnName, typeof(double));
                }
            }
            return(result);
        }
예제 #6
0
        public void FillAllColumns(SqlConnection conn)
        {
            if (AllColumns.Count > 0)
            {
                return;
            }
            var allColsOptions = new DataSearchOptions
            {
                SearchInTables = !IsView,
                SearchInViews  = IsView,
                CompareSchema  = new CompareValue {
                    Compare = CompareType.Equals, HasDelimeter = true, Value = Schema
                },
                CompareObject = new CompareValue {
                    Compare = CompareType.Equals, HasDelimeter = true, Value = Name
                }
            };

            using (var ccmd = new SqlCommand(allColsOptions.MetadataSelect, conn))
            {
                using (var creader = ccmd.ExecuteReader())
                {
                    while (creader.Read())
                    {
                        AllColumns.Add(new DataSearchColumn
                        {
                            Name      = (creader.GetString(3) ?? "").Trim(),
                            Index     = creader.GetInt32(4),
                            TypeName  = (creader.GetString(5) ?? "").Trim(),
                            MaxLength = creader.GetInt16(6)
                        });
                    }
                }
            }
        }
        protected override void VisitAllColumns(AllColumns item)
        {
            var aliasedSource = IsSingleSource ? SingleSource : item.Source;
            var sourceTable   = aliasedSource.Source as Table;
            var sourceName    = GetTableLogicalEntityName(sourceTable);

            switch (sourceName)
            {
            case EntityMetadadataTableLogicalName:
                this.QueryExpression.Properties.AllProperties = true;
                break;

            case AttributeMetadadataTableLogicalName:
                this.QueryExpression.AttributeQuery.Properties.AllProperties = true;
                SetExcludeFilter(this.QueryExpression.AttributeQuery.Criteria, false);
                _hasAttributes = true;
                break;

            case OneToManyRelationshipMetadadataTableLogicalName:
                _hasOneToManyRelationships = true;
                this.QueryExpression.RelationshipQuery.Properties.AllProperties = true;
                SetRelationshipFilter(this.QueryExpression.RelationshipQuery.Criteria, _RelationshipTypeFilter, _hasOneToManyRelationships, _hasManyToManyRelationships);
                break;

            case ManyToManyRelationshipMetadadataTableLogicalName:
                _hasManyToManyRelationships = true;
                this.QueryExpression.RelationshipQuery.Properties.AllProperties = true;
                SetRelationshipFilter(this.QueryExpression.RelationshipQuery.Criteria, _RelationshipTypeFilter, _hasOneToManyRelationships, _hasManyToManyRelationships);
                break;
            }
            AddAllColumnMetadata(sourceName, aliasedSource.Alias);
        }
예제 #8
0
        private bool setColumnNameSource(int sheetID, DropDownList dropDown, string t = "")
        {
            Dictionary <int, List <indexColumn> > sheetColumns = ViewState[vs_SheetColumn] as Dictionary <int, List <indexColumn> >;
            List <indexColumn> AllColumns;
            bool existSheet = sheetColumns.TryGetValue(sheetID, out AllColumns);

            if (existSheet)
            {
                var unAssignedColumns = AllColumns.Where(c => c.selectedInExcel == "" || c.selectedInExcel == t);
                dropDown.DataSource     = unAssignedColumns.ToList();
                dropDown.DataTextField  = "columnText";
                dropDown.DataValueField = "columnID";
                dropDown.DataBind();

                if (t != "")
                {
                    var si = unAssignedColumns.Where(c => c.selectedInExcel == t).FirstOrDefault();
                    if (si != null)
                    {
                        dropDown.SelectedValue = si.columnID.ToString();
                        return(true);
                    }
                }
            }
            return(false);
        }
예제 #9
0
        void Initialize()
        {
            SmartColumn path                = new SmartColumn(this, PCResources.PathColumn, 288, "Path");
            SmartColumn project             = new SmartColumn(this, PCResources.ProjectColumn, 76, "Project");
            SmartColumn conflictType        = new SmartColumn(this, PCResources.ConflictTypeColumn, 92, "ConflictType");
            SmartColumn conflictDescription = new SmartColumn(this, PCResources.ConflictDescriptionColumn, 288, "ConflictDescription");

            SmartColumn change   = new SmartColumn(this, PCResources.ChangeColumn, 76, "Change");
            SmartColumn fullPath = new SmartColumn(this, PCResources.FullPathColumn, 327, "FullPath");

            SmartColumn changeList  = new SmartColumn(this, PCResources.ChangeListColumn, 76, "ChangeList");
            SmartColumn folder      = new SmartColumn(this, PCResources.FolderColumn, 196, "Folder");
            SmartColumn locked      = new SmartColumn(this, PCResources.LockedColumn, 38, "Locked");
            SmartColumn modified    = new SmartColumn(this, PCResources.ModifiedColumn, 76, "Modified");
            SmartColumn name        = new SmartColumn(this, PCResources.NameColumn, 76, "Name");
            SmartColumn type        = new SmartColumn(this, PCResources.TypeColumn, 76, "Type");
            SmartColumn workingCopy = new SmartColumn(this, PCResources.WorkingCopyColumn, 76, "WorkingCopy");

            Columns.AddRange(new ColumnHeader[]
            {
                path,
                project,
                conflictType,
                conflictDescription,
            });

            modified.Sorter = new SortWrapper(
                delegate(ConflictListItem x, ConflictListItem y)
            {
                return(x.PendingChange.SvnItem.Modified.CompareTo(y.PendingChange.SvnItem.Modified));
            });

            change.Groupable      = true;
            changeList.Groupable  = true;
            folder.Groupable      = true;
            locked.Groupable      = true;
            project.Groupable     = true;
            type.Groupable        = true;
            workingCopy.Groupable = true;

            path.Hideable = false;

            AllColumns.Add(change);
            AllColumns.Add(changeList);
            AllColumns.Add(conflictType);
            AllColumns.Add(conflictDescription);
            AllColumns.Add(folder);
            AllColumns.Add(fullPath);
            AllColumns.Add(locked);
            AllColumns.Add(modified);
            AllColumns.Add(name);
            AllColumns.Add(path);
            AllColumns.Add(project);
            AllColumns.Add(type);
            AllColumns.Add(workingCopy);

            SortColumns.Add(path);

            FinalSortColumn = path;
        }
예제 #10
0
        void Init()
        {
            _expand         = new SmartColumn(this, "\x00A0", "&Expand Merges", 12, HorizontalAlignment.Left);
            _revisionColumn = new SmartColumn(this, "&Revision", 64, HorizontalAlignment.Right);
            SmartColumn author = new SmartColumn(this, "&Author", 73);
            SmartColumn date   = new SmartColumn(this, "&Date", 118);
            SmartColumn issue  = new SmartColumn(this, "&Issue", 60);

            _messageColumn = new SmartColumn(this, "&Message", 300);

            _expand.Hideable = false;
            _expand.Sortable = _revisionColumn.Sortable = author.Sortable = date.Sortable = issue.Sortable = _messageColumn.Sortable = false;

            AllColumns.Add(_expand);
            AllColumns.Add(_revisionColumn);
            AllColumns.Add(author);

            AllColumns.Add(date);
            AllColumns.Add(issue);
            AllColumns.Add(_messageColumn);

            // The listview can't align the first column right. We switch their display position
            // to work around this
            Columns.AddRange(
                new ColumnHeader[]
            {
                _expand,
                _revisionColumn,
                author,
                date,
                _messageColumn
            });
        }
예제 #11
0
        public void AddForeignKey(ForeignKeySchema fk)
        {
            _foreignKeys.Add(fk);
            fk.OtherTable._children.Add(this);
            var col = AllColumns.Where(t => t.ColumnName == fk.ThisKey.ColumnName).First();

            col.IsForeignKey = true;
        }
예제 #12
0
 /// <summary>
 /// Generates the text for an AllColumns builder.
 /// </summary>
 /// <param name="item">The AllColumns builder to generate the text for.</param>
 protected internal override void VisitAllColumns(AllColumns item)
 {
     if (item.Source != null)
     {
         forSourceContext(SourceReferenceType.Reference).visitAliasedSource(item.Source);
         writer.Write(".");
     }
     writer.Write("*");
 }
 protected virtual void ValidateColumnsAutosizeState()
 {
     if (SettingsBehavior.ColumnResizeMode != ColumnResizeMode.Disabled)
     {
         if (AllColumns.OfType <IAutosizeable>().Any(x => x.Autosize))
         {
             throw new NotSupportedException("Columns resize is enabled: columns autosize is not supporting");
         }
     }
 }
        private void DoColumnResize()
        {
            var widthChange = _currentX - _columnSeparatorDown.Right;

            _columnSeparatorDown.Width += widthChange;
            if (_columnSeparatorDown.Width < MinimumColumnSize)
            {
                _columnSeparatorDown.Width = MinimumColumnSize;
            }
            AllColumns.ColumnsChanged();
        }
        protected override void VisitAllColumns(AllColumns item)
        {
            this.QueryExpression.IncludeAllColumns();

            var aliasedSource = IsSingleSource ? SingleSource : item.Source;
            var sourceTable   = aliasedSource.Source as Table;

            var entityName = GetTableLogicalEntityName(sourceTable);
            var alias      = aliasedSource.Alias;

            AddAllColumnMetadata(entityName, alias);
        }
        public BusinessEntity Retrieve(Guid dataObjectId, String[] columnSet)
        {
            ColumnSetBase cs;

            if (columnSet == null || columnSet.Length == 0)
            {
                cs = new AllColumns();
            }
            else
            {
                cs = new ColumnSet(columnSet);
            }
            return(ServiceBroker.GetServiceInstance(_authRequest).Retrieve(base.EntityName, dataObjectId, cs));
        }
예제 #17
0
        public virtual string Insert(IClassMapper classMap)
        {
            MapTables(classMap);

            var i = 0;

            AllColumns = GetColumns().ToList();

            AllColumns = AllColumns.Select(c => new Column
            {
                Alias         = c.Alias,
                ClassMapper   = c.ClassMapper,
                Property      = c.Property,
                SimpleAlias   = $"{Configuration.Dialect.ParameterPrefix}i_{i++}",
                TableIdentity = c.TableIdentity,
                Table         = c.Table
            }).ToList <IColumn>();

            var parameters = AllColumns
                             .Where(p => !(p.Property.Ignored || p.Property.IsReadOnly || p.Property.KeyType == KeyType.Identity || p.Property.KeyType == KeyType.TriggerIdentity))
                             .Select(col => col.SimpleAlias)
                             .ToList();

            if (parameters.Count == 0)
            {
                throw new ArgumentException("No columns were mapped.");
            }

            var columnNames = AllColumns
                              .Where(p => !(p.Property.Ignored || p.Property.IsReadOnly || p.Property.KeyType == KeyType.Identity || p.Property.KeyType == KeyType.TriggerIdentity))
                              .Select(p => GetColumnName(p, false, false)).ToList();

            var sql = $"INSERT INTO {GetTableName(classMap)} ({columnNames.AppendStrings()}) VALUES ({parameters.AppendStrings()})";

            var triggerIdentityColumn  = classMap.Properties.Where(p => p.KeyType == KeyType.TriggerIdentity).ToList();
            var sequenceIdentityColumn = classMap.Properties.Where(p => p.KeyType == KeyType.SequenceIdentity).ToList();

            if (triggerIdentityColumn.Count > 0)
            {
                if (triggerIdentityColumn.Count > 1)
                {
                    throw new ArgumentException("TriggerIdentity generator cannot be used with multi-column keys");
                }

                sql += $" RETURNING {triggerIdentityColumn.Select(p => GetColumnName(classMap, p, false, includePrefix: false)).First()} INTO {Configuration.Dialect.ParameterPrefix}IdOutParam";
            }

            return(sql);
        }
예제 #18
0
        void Init()
        {
            SmartColumn issueId = new SmartColumn(this, "&Issue Id", 100, "IssueId");

            AllColumns.Add(issueId);

            Columns.AddRange(
                new ColumnHeader[]
            {
                issueId
            });

            SortColumns.Add(issueId);
            FinalSortColumn = issueId;
        }
        /// <summary>
        /// Parent form calls this to add columns
        /// </summary>
        /// <param name="columnName"></param>
        /// <param name="columnText"></param>
        /// <param name="columnWidth"></param>
        /// <param name="columnType"></param>
        public void AddColumn(string columnName, string columnText, int columnWidth, ListColumn.InputType columnType = ListColumn.InputType.Boolean)
        {
            if (AllColumns[columnName] == null)
            {
                var column = new ListColumn
                {
                    Name  = columnName,
                    Text  = columnText,
                    Width = columnWidth,
                    Type  = columnType
                };

                AllColumns.Add(column);
            }
        }
예제 #20
0
        private void openCartAccess(int sheetID)
        {
            var xApp = new Microsoft.Office.Interop.Excel.Application();

            xApp.Visible = false;
            var xBook = xApp.Workbooks.Open(getExcel());
            Dictionary <int, List <indexColumn> > sheetColumns = ViewState[vs_SheetColumn] as Dictionary <int, List <indexColumn> >;
            List <indexColumn> AllColumns;
            bool existSheet = sheetColumns.TryGetValue(sheetID, out AllColumns);

            if (existSheet)
            {
                try
                {
                    Business.Common.CommonBusiness CB = new Business.Common.CommonBusiness();
                    var sheet    = (Microsoft.Office.Interop.Excel.Worksheet)xBook.Worksheets.Item[sheetID];
                    int lastRow  = sheet.Cells.SpecialCells(XlCellType.xlCellTypeLastCell, Type.Missing).Row;
                    int lastCol  = 1;
                    int tempLast = sheet.Cells.SpecialCells(XlCellType.xlCellTypeLastCell, Type.Missing).Column;
                    for (int col = 1; col < tempLast; col++)
                    {
                        if ((sheet.Cells[3, col] as Microsoft.Office.Interop.Excel.Range).Value2 == null)
                        {
                            break;
                        }
                        else
                        {
                            lastCol++;
                        }
                    }
                    int  stcodeColumnNumber = Convert.ToInt32(AllColumns.FindLast(c => c.columnName == "stcode").selectedInExcel);
                    bool res;
                    for (int i = firstRow + 1; i < lastRow; i++)
                    {
                        var stcode = (sheet.Cells[i, stcodeColumnNumber] as Microsoft.Office.Interop.Excel.Range).Value2;
                        res = CB.openCartAccess(Convert.ToString(stcode));
                        (sheet.Cells[i, lastCol + 1] as Microsoft.Office.Interop.Excel.Range).Value2 = "دسترسی باز " + (res ? "شد" : "نشد");
                    }
                    (sheet.Cells[1, 1] as Microsoft.Office.Interop.Excel.Range).Value2 = null;
                    xBook.Close(false);
                    xApp.Quit();
                }
                catch (Exception ex)
                {
                    showAlert(ex.Message);
                }
            }
        }
예제 #21
0
        /// <summary>
        /// 处理Select语句:select *
        /// </summary>
        /// <param name="tables"></param>
        /// <returns></returns>
        private void HandleSelectStarStatement(SelectBuilder select, AllColumns aliSource)
        {
            AliasedSource tableSource = select.Sources.Sources.First();

            if (aliSource.Source != null) //有字段的前缀
            {
                tableSource = select.Sources.Sources.First();
            }
            string tableName = tableSource.Source.GetSourceName();
            IEnumerable <FapColumn> columns = GetColumnsOfTable(tableName);

            if (columns != null)
            {
                this.MakeSelectStarPartition(columns, tableSource, select);
            }
        }
예제 #22
0
        void IGridContainer.AddColumn(IGridColumn column)
        {
            column.Id = column.Field + column.Template?.GetHashCode() + column.Format?.GetHashCode();

            var col = Columns.FirstOrDefault(c => c.Id == column.Id);

            column.Type = typeof(TItem);
            if (col == null)
            {
                Columns.Add(column);
            }
            //If the grid is grouped we need access to all columns (one set per group)
            AllColumns.Add(column);

            StateHasChanged();
        }
예제 #23
0
            void CellGUI(Rect cellRect, TreeViewItem <MIC_TreeViewElement> item, AllColumns column, ref RowGUIArgs args)
            {
                // Center cell rect vertically (makes it easier to place controls, icons etc in the cells)
                CenterRectUsingSingleLineHeight(ref cellRect);

                Rect r;

                switch (column)
                {
                case AllColumns.Index:
                    //Draw id
                    r    = cellRect;
                    r.x += 2;
                    DefaultGUI.Label(r, args.item.id.ToString(), args.selected, args.focused);
                    break;

                case AllColumns.Path:
                    r       = cellRect;
                    r.x     = cellRect.width - 30;
                    r.width = 60;
                    //if (GUI.Button(r, GUIContent.none, GUIStyle.none))
                    if (GUI.Button(r, "Select"))
                    {
                        UnityEngine.Object mat = AssetDatabase.LoadAssetAtPath <UnityEngine.Object>(item.data.Path);
                        if (mat != null)
                        {
                            EditorGUIUtility.PingObject(mat);
                            Selection.activeObject = mat;
                        }
                        else
                        {
                            Debug.LogError("Material is null (" + item.data.Path + ")");
                        }
                    }

                    r        = cellRect;
                    r.width -= 66;
                    DefaultGUI.Label(r, item.data.Path, args.selected, args.focused);
                    break;

                case AllColumns.ShaderName:
                    DefaultGUI.Label(cellRect, item.data.ShaderName, args.selected, args.focused);
                    break;
                }
            }
예제 #24
0
        public virtual string Update(IClassMapper classMap, IPredicate predicate, IDictionary <string, object> parameters, bool ignoreAllKeyProperties, IList <IProjection> colsToUpdate)
        {
            if (predicate == null)
            {
                throw new ArgumentNullException(nameof(predicate), $"{nameof(predicate)} cannot be null.");
            }

            if (parameters == null)
            {
                throw new ArgumentNullException(nameof(parameters), $"{nameof(parameters)} cannot be null.");
            }

            MapTables(classMap);

            var i = 0;

            AllColumns = GetColumns().ToList();

            AllColumns = AllColumns.Select(c => new Column
            {
                Alias         = c.Alias,
                ClassMapper   = c.ClassMapper,
                Property      = c.Property,
                SimpleAlias   = $"{Configuration.Dialect.ParameterPrefix}u_{i++}",
                TableIdentity = c.TableIdentity,
                Table         = c.Table
            }).ToList <IColumn>();

            var columns = (ignoreAllKeyProperties
                ? AllColumns.Where(p => !(p.Property.Ignored || p.Property.IsReadOnly) && p.Property.KeyType == KeyType.NotAKey)
                : AllColumns.Where(p => !(p.Property.Ignored || p.Property.IsReadOnly || p.Property.KeyType == KeyType.Identity ||
                                          p.Property.KeyType == KeyType.Assigned || p.Property.KeyType == KeyType.SequenceIdentity))).ToList();

            if (columns.Count == 0)
            {
                throw new ArgumentException("No columns were mapped.");
            }

            var setSql = columns
                         .Where(c => colsToUpdate == null || colsToUpdate?.Any(cu => cu.PropertyName.Equals(c.Property.ColumnName, StringComparison.OrdinalIgnoreCase)) == true)
                         .Select(p => $"{GetColumnName(p, false, false)} = {p.SimpleAlias}");

            return($"UPDATE {GetTableName(classMap)} SET {setSql.AppendStrings()} WHERE {predicate.GetSql(this, parameters, true)}");
        }
예제 #25
0
        protected void btnUpdateExcel_Click(object sender, EventArgs e)
        {
            string s = "";

            message.InnerText = "";
            Dictionary <int, List <indexColumn> > sheetColumns = ViewState[vs_SheetColumn] as Dictionary <int, List <indexColumn> >;
            int minIndex = sheetColumns.Keys.Min();
            int maxIndex = sheetColumns.Keys.Max();

            for (int i = minIndex; i <= maxIndex; i++)
            {
                List <indexColumn> AllColumns;
                bool existSheet = sheetColumns.TryGetValue(i, out AllColumns);
                if (existSheet)
                {
                    var unSelectedColumns = AllColumns.Where(c => c.selectedInExcel == "" && c.columnID > 0).ToList();

                    if (unSelectedColumns.Count > 0)
                    {
                        for (int j = 0; j < unSelectedColumns.Count; j++)
                        {
                            s += "ستون " + unSelectedColumns.ToList()[j].columnText + " در شیت " + drpSheets.Items[i].Text + ",";
                        }
                    }
                }
            }
            if (s != "")
            {
                showAlert("شما تمام ستون های مورد نیاز جهت آپدیت اکسل را معادل سازی نکرده اید. لطفا به پیام قرمز رنگی که اوی ستون های درج نشده است توجه فرمایید.");
                showMessage("لطفا برای " + s + " ستون معادلی را از لیست ستون های اکسل مشخص فرمایید سپس دکمه آپدیت را فشار دهید.");
            }

            else
            {
                for (int i = minIndex; i <= maxIndex; i++)
                {
                    updateExcelTuitional(i);
                }

                downloadExcel();
                showAlert("آپدیت فایل اکسل انجام شد و روی سیستم شما جهت دانلود ارسال گشت.");
            }
        }
        protected OLVColumn GenerateColumn(int nInsertIndex = -1)
        {
            OLVColumn col = new OLVColumn();

            col.MinimumWidth   = 50;
            col.GroupKeyGetter = GroupGetterDelegate;

            if (nInsertIndex >= 0 && nInsertIndex < Columns.Count)
            {
                AllColumns.Insert(nInsertIndex, col);
                Columns.Insert(nInsertIndex, col);
            }
            else
            {
                AllColumns.Add(col);
                Columns.Add(col);
            }

            return(col);
        }
예제 #27
0
        public virtual string GetColumnName(IClassMapper map, IMemberMap property, bool includeAlias, bool isDml = false, bool includePrefix = true)
        {
            if (isDml)
            {
                return(Configuration.Dialect.GetColumnName(GetTableName(map), property.ColumnName, ""));
            }

            if (AllColumns?.Any(c => c.Property == property) == true)
            {
                foreach (var c in AllColumns.Where(c => c.TableIdentity == map.Identity))
                {
                    c.ClassMapper.GetType().GetProperty("SimpleAlias").SetValue(c.ClassMapper, GetTableName(c.ClassMapper, c), null);
                }
            }

            var alias  = (property.ColumnName != property.Name && includeAlias) ? property.Name : null;
            var prefix = includePrefix ? (!string.IsNullOrEmpty(map.SimpleAlias) ? map.SimpleAlias : GetTableName(map)) : null;

            return(Configuration.Dialect.GetColumnName(prefix, property.ColumnName, alias));
        }
예제 #28
0
        protected void btnInsertTuition_Click(object sender, EventArgs e)
        {
            string s = "";

            message.InnerText = "";
            Dictionary <int, List <indexColumn> > sheetColumns = ViewState[vs_SheetColumn] as Dictionary <int, List <indexColumn> >;
            int minIndex = sheetColumns.Keys.Min();
            int maxIndex = sheetColumns.Keys.Max();

            for (int i = minIndex; i <= maxIndex; i++)
            {
                List <indexColumn> AllColumns;
                bool existSheet = sheetColumns.TryGetValue(i, out AllColumns);
                if (existSheet)
                {
                    var unSelectedColumns = AllColumns.Where(c => c.selectedInExcel == "" && c.columnID > 0).ToList();

                    if (unSelectedColumns.Count > 0)
                    {
                        for (int j = 0; j < unSelectedColumns.Count; j++)
                        {
                            s += "ستون " + unSelectedColumns.ToList()[j].columnText + " در شیت " + drpSheets.Items[i].Text + ",";
                        }
                    }
                }
            }
            if (s != "")
            {
                showMessage("لطفا برای " + s + " ستون معادلی را از لیست ستون های اکسل مشخص فرمایید سپس دکمه ثبت در پایگاه داده را فشار دهید.");
            }

            else
            {
                for (int i = minIndex; i <= maxIndex; i++)
                {
                    InsertTuitions(i);
                }
                showAlert("شهریه ها به درستی در پایگاه داده درج شدند");
                resetForm();
            }
        }
예제 #29
0
        protected void btnOpenCartAccess_Click(object sender, EventArgs e)
        {
            string s = "";

            message.InnerText = "";
            Dictionary <int, List <indexColumn> > sheetColumns = ViewState[vs_SheetColumn] as Dictionary <int, List <indexColumn> >;
            int minIndex = sheetColumns.Keys.Min();
            int maxIndex = sheetColumns.Keys.Max();

            for (int i = minIndex; i <= maxIndex; i++)
            {
                List <indexColumn> AllColumns;
                bool existSheet = sheetColumns.TryGetValue(i, out AllColumns);
                if (existSheet)
                {
                    var unSelectedColumns = AllColumns.Where(c => c.selectedInExcel == "" && c.columnID > 0).ToList();

                    if (unSelectedColumns.Count > 0)
                    {
                        for (int j = 0; j < unSelectedColumns.Count; j++)
                        {
                            s += "ستون " + unSelectedColumns.ToList()[j].columnText + " در شیت " + drpSheets.Items[i].Text + ",";
                        }
                    }
                }
            }
            if (s != "")
            {
                showMessage("لطفا برای " + s + " ستون معادلی را از لیست ستون های اکسل مشخص فرمایید سپس دکمه ثبت در پایگاه داده را فشار دهید.");
            }

            else
            {
                for (int i = minIndex; i <= maxIndex; i++)
                {
                    openCartAccess(i);
                }
                showAlert("عملیات باز شدن دسترسی کارت ورود به جلسه انجام شد. شما می توانید با مراجعه به فایل اکسل و مشاهده ستون اضافه شده، نتیجه را مشاهده فرمایید");
                resetForm();
            }
        }
예제 #30
0
#pragma warning disable 1998
        private async Task resizeTableAsync()
        {
            int reduceby = 0;

            Columns.ForEach((c) => c.Visible = true);

            foreach (var c in Columns.Where(c => c.Priority > 0).OrderByDescending(c => c.Priority))
            {
                if (TableClientWidth - reduceby <= ContainerClientWidth)
                {
                    break;
                }
                foreach (var col in AllColumns.Where(a => a.Id == c.Id))
                {
                    //update all references (needed if grouped)
                    col.Visible = false;
                }
                reduceby += c.ClientWidth;
            }

            StateHasChanged();
        }