Ejemplo n.º 1
0
        private void CustomGridView_CustomDrawRowIndicator(object sender, RowIndicatorCustomDrawEventArgs e)
        {
            if (!IsGroupRow(e.RowHandle))
            {
                if (e.Info.IsRowIndicator)
                {
                    if (e.RowHandle < 0)
                    {
                        e.Info.ImageIndex  = 0;
                        e.Info.DisplayText = string.Empty;
                    }
                    else
                    {
                        e.Info.ImageIndex  = -1;
                        e.Info.DisplayText = (e.RowHandle + 1).ToString();
                    }
                    var _Size = e.Graphics.MeasureString(e.Info.DisplayText, e.Appearance.Font);
                    var n     = RowCount.ToString().Length;
                }
            }
            else
            {
                e.Info.ImageIndex  = -1;
                e.Info.DisplayText = string.Format("[{0}]", e.RowHandle * -1);
                var _Size  = e.Graphics.MeasureString(e.Info.DisplayText, e.Appearance.Font);
                var _Width = Convert.ToInt32(_Size.Width) + 20;
            }


            //if (ShowIndexIndicator)
            //{
            //if (e.Info.IsRowIndicator && e.RowHandle >= 0)
            //        e.Info.DisplayText = (e.RowHandle + 1).ToString();
            //}
        }
Ejemplo n.º 2
0
 private void CustomGridView_RowCountChanged(object sender, EventArgs e)
 {
     if (ShowIndexIndicator)
     {
         var n = RowCount.ToString().Length;
         IndicatorWidth = 25 + n * 6;
     }
 }
Ejemplo n.º 3
0
        private void ScrollDesiredRowsIntoView(int firstRow, int lastRow)
        {
            if (m_viewModel.CurrentReferenceTextMatchup != null)
            {
                // I think that the fix for PG-884 (to call this method asynchronously from OnRowHeightChanged)
                // is the "real" fix for PG-810. So most likely, this try-catch is no longer needed. But since
                // I was never able to reproduce PG-810, I'm leaving it in here for now.
                try
                {
                    FirstDisplayedScrollingRowIndex = firstRow;
                }
                catch (Exception exception)
                {
                    Analytics.ReportException(exception, new Dictionary <string, string>
                    {
                        { "firstRow", firstRow.ToString() },
                        { "lastRow", lastRow.ToString() },
                        { "RowCount", RowCount.ToString() },
                        { "existing FirstDisplayedScrollingRowIndex", FirstDisplayedScrollingRowIndex.ToString() },
                        { "m_viewModel.CurrentBookId", m_viewModel.CurrentBookId },
                    });
                    ErrorReport.ReportNonFatalExceptionWithMessage(exception,
                                                                   "Although this is not a fatal error, the Glyssen developers are trying to find the cause of this problem (PG-810) so it can be fixed." +
                                                                   " Please report this if possible." + Environment.NewLine +
                                                                   "firstRow = " + firstRow + Environment.NewLine +
                                                                   "lastRow = " + lastRow + Environment.NewLine +
                                                                   "RowCount = " + RowCount + Environment.NewLine +
                                                                   "existing FirstDisplayedScrollingRowIndex = " + FirstDisplayedScrollingRowIndex + Environment.NewLine +
                                                                   "m_viewModel.CurrentBookId = " + m_viewModel.CurrentBookId + Environment.NewLine +
                                                                   "IndexOfStartBlockInBook = " + m_viewModel.CurrentReferenceTextMatchup.IndexOfStartBlockInBook + Environment.NewLine +
                                                                   "CorrelatedBlocks.Count = " + m_viewModel.CurrentReferenceTextMatchup.CorrelatedBlocks.Count);
                }
            }
            else
            {
                int precedingContextRows = 4;
                int followingContextRows = Math.Min(2, RowCount - lastRow - 1);
                var lastRowLocation      = GetCellDisplayRectangle(0, lastRow + followingContextRows, false);
                while (FirstDisplayedCell.RowIndex > firstRow || (lastRowLocation.Height == 0 || (firstRow != lastRow &&
                                                                                                  lastRowLocation.Y + lastRowLocation.Height > ClientRectangle.Height) ||
                                                                  GetCellDisplayRectangle(0, firstRow, true).Height < GetCellDisplayRectangle(0, firstRow, false).Height) &&
                       precedingContextRows >= 0)
                {
                    var firstRowOfContextToMakeVisible = Math.Max(0, firstRow - precedingContextRows--);
                    FirstDisplayedScrollingRowIndex = firstRowOfContextToMakeVisible;

                    if (followingContextRows > 0)
                    {
                        followingContextRows--;
                    }
                    lastRowLocation = GetCellDisplayRectangle(0, lastRow + followingContextRows, false);
                }
            }
        }
Ejemplo n.º 4
0
        /// <summary>
        ///  执行UPDATE、DELETE SQL语句或存储过程(可传递参数),并返回受影响的行数
        /// </summary>
        /// <param name="conn"> 要使用的Connectiong对象</param>
        /// <param name="sql"> 要执行的SQL语句或存储过程</param>
        /// <param name="cmdParameters">要使用的参数集合(可选)</param>
        /// <param name="cmdType"></param>
        /// <param name="Result">函数的执行结果(Success Or Fail)及DataBase中受影响的记录行数或错误描述</param>
        public void ExecuteNonquery(DbConnection conn, string sql, DbParameter[] cmdParameters, CommandType cmdType, ref string Result)
        {
            DbCommand cmd = null;
            int       RowCount;

            if (conn.State != ConnectionState.Open)
            {
                conn.Open();
            }
            cmd                = conn.CreateCommand();
            cmd.Connection     = conn;
            cmd.CommandTimeout = 30;
            cmd.CommandType    = cmdType;
            cmd.CommandText    = sql;
            DbTransaction tran = conn.BeginTransaction();

            cmd.Transaction = tran;

            if (cmdParameters != null)
            {
                foreach (DbParameter sqlPar in cmdParameters)
                {
                    cmd.Parameters.Add(sqlPar);
                }
            }
            try
            {
                //conn.BeginTransaction();
                //RowCount =cmd.ExecuteNonQuery();
                //Result = "Sueccess:" + RowCount.ToString() + " Rows Impact!";  这个会报错不支持并行事务
                //conn.BeginTransaction().Commit();


                RowCount = cmd.ExecuteNonQuery();
                Result   = "Success:" + RowCount.ToString() + " Rows Impact!";
                tran.Commit();
            }
            catch (Exception er)
            {
                Result  = "Fail:" + er.Message.ToString();
                _result = "Fail:" + er.Message.ToString();
                conn.BeginTransaction().Rollback();
                throw;
            }
            finally
            {
                cmd.Dispose();
                conn.Dispose();
            }
        }
Ejemplo n.º 5
0
        public void SaveSettings(object sender, RoutedEventArgs e)
        {
            DataBase.SetSetting("WIDTH", WindowWidth.ToString());
            DataBase.SetSetting("HEIGHT", WindowHeight.ToString());
            DataBase.SetSetting("COLS", ColumnCount.ToString());
            DataBase.SetSetting("ROWS", RowCount.ToString());
            DataBase.SetSetting("TOPMOST", IsTopMost ? "TRUE" : "FALSE");
            DataBase.SetSetting("STARTUP", StartUp ? "TRUE" : "FALSE");
            InstallStartUp(StartUp);

            DataBase.SetTabs(Tabs);

            // 재시작
            System.Diagnostics.Process.Start(Application.ResourceAssembly.Location);
            Application.Current.Shutdown();
        }
Ejemplo n.º 6
0
        private void Page_Load(object sender, System.EventArgs e)
        {
            if (!this.Page.IsPostBack)
            {
                if (RowCount == 0)
                {
                    this.EnablePrev(false);
                    this.EnableNext(false);
                    this.linkGo.Enabled        = false;
                    this.txtPageIndex.Text     = "1";
                    this.txtPageIndex.ReadOnly = true;
                }
            }

            try
            {
                rowCountPrevText = this.languageComponent1.GetString("lblPrevRowCount");
                rowCountNextText = this.languageComponent1.GetString("lblNextRowCount");

                this.ltRowCount.Text = string.Format("{0} {1} {2}",
                                                     rowCountPrevText,
                                                     RowCount.ToString(),
                                                     rowCountNextText);
            }
            catch
            {
                this.ltRowCount.Text = string.Format("¹² {0} ±Ê", RowCount.ToString());
            }

            try
            {
                this.ltGo.Text = this.languageComponent1.GetString("lblGo");
            }
            catch
            {
                this.ltGo.Text = "תµ½";
            }

            this.ltPageIndex.Text = this.PageIndex.ToString();
            this.ltPageCount.Text = this.PageCount.ToString();

            this.txtPageIndex.Attributes["onkeydown"] = "if(event.keyCode==13){" +
                                                        "document.getElementById('" + this.ID + "_lnkGo').click();" +
                                                        "event.cancelBubble = true;" +
                                                        "event.returnValue=false;}";
        }
Ejemplo n.º 7
0
        protected override void OnRowPostPaint(DataGridViewRowPostPaintEventArgs e)
        {
            string strRowNumber = (e.RowIndex + 1).ToString();

            while (strRowNumber.Length < RowCount.ToString().Length)
            {
                strRowNumber = "0" + strRowNumber;
            }
            SizeF size = e.Graphics.MeasureString(strRowNumber, Font);

            if (RowHeadersWidth < (int)(size.Width + 20))
            {
                RowHeadersWidth = (int)(size.Width + 20);
            }
            Brush b = SystemBrushes.ControlText;

            e.Graphics.DrawString(strRowNumber, Font, b, e.RowBounds.Location.X + 15, e.RowBounds.Location.Y + ((e.RowBounds.Height - size.Height) / 2));
            base.OnRowPostPaint(e);
        }
Ejemplo n.º 8
0
        // based on MVI's original editor, shows the row number on the header row
        protected override void OnRowPostPaint(DataGridViewRowPostPaintEventArgs e)
        {
            string text = e.RowIndex.ToString();

            while (text.Length < RowCount.ToString().Length)
            {
                text = "0" + text;
            }
            SizeF sizeF = e.Graphics.MeasureString(text, this.Font);

            if (RowHeadersWidth < (int)(sizeF.Width + 20f))
            {
                RowHeadersWidth = (int)(sizeF.Width + 20f);
            }
            Brush controlText = SystemBrushes.ControlText;

            e.Graphics.DrawString(text, this.Font, controlText, (float)(e.RowBounds.Location.X + 15), (float)e.RowBounds.Location.Y + ((float)e.RowBounds.Height - sizeF.Height) / 2f);
            base.OnRowPostPaint(e);
        }
Ejemplo n.º 9
0
 private void ResizeOurself(int r, int c)
 {
     //adjust rows and cols, do nothing if they equal
     //
     while (c < ColumnCount)
     {
         Columns.RemoveAt(ColumnCount - 1);
     }
     while (c > ColumnCount)
     {
         AddColumn(ColumnCount.ToString());
     }
     while (r < RowCount)
     {
         Rows.RemoveAt(RowCount - 1);
     }
     while (r > RowCount)
     {
         AddRow(RowCount.ToString());
     }
 }
Ejemplo n.º 10
0
        protected override void OnRowPostPaint(DataGridViewRowPostPaintEventArgs e)
        {
            //this method overrides the DataGridView's RowPostPaint event
            //in order to automatically draw numbers on the row header cells
            //and to automatically adjust the width of the column containing
            //the row header cells so that it can accommodate the new row
            //numbers.

            //store a string representation of the row number in 'strRowNumber'
            var rowNumber = (e.RowIndex + 1).ToString(CultureInfo.InvariantCulture);

            //prepend leading zeros to the string if necessary to improve
            //appearance. For example, if there are ten rows in the grid,
            //row seven will be numbered as "07" instead of "7". Similarly, if
            //there are 100 rows in the grid, row seven will be numbered as "007".
            while (rowNumber.Length < RowCount.ToString(CultureInfo.InvariantCulture).Length)
            {
                rowNumber = "0" + rowNumber;
            }

            //determine the display size of the row number string using
            //the DataGridView's current font.
            var rowNumberSize = e.Graphics.MeasureString(rowNumber, Font);

            //adjust the width of the column that contains the row header cells
            //if necessary
            if (RowHeadersWidth < (int)(rowNumberSize.Width + WidthAdjustment))
            {
                RowHeadersWidth = (int)(rowNumberSize.Width + WidthAdjustment);
            }

            //draw the row number string on the current row header cell using
            //the brush defined above and the DataGridView's default font
            e.Graphics.DrawString(rowNumber, Font, SystemBrushes.ControlText, e.RowBounds.Location.X + RowXOffset,
                                  e.RowBounds.Location.Y + ((e.RowBounds.Height - rowNumberSize.Height) / 2));

            //call the base object's OnRowPostPaint method
            base.OnRowPostPaint(e);
        }
Ejemplo n.º 11
0
        public System.Drawing.Point GetCoordinatesFromOrdinal(int Ordinal)
        {
            if (Ordinal > Capacity - 1)
            {
                throw new ApplicationException("Capacity of " + RowCount.ToString() + " x " + ColCount.ToString() + " Rack exceeded.");
            }
            int RowIndex, ColIndex;

            switch (Order)
            {
            case Mapping.FillOrder.TopBottomLeftRight: RowIndex = Ordinal % RowCount; ColIndex = Ordinal / RowCount; break;

            case Mapping.FillOrder.LeftRightTopBottom: RowIndex = Ordinal / ColCount; ColIndex = Ordinal % ColCount; break;

            case Mapping.FillOrder.BottomTopRightLeft: RowIndex = (Capacity - Ordinal - 1) % RowCount; ColIndex = (Capacity - Ordinal - 1) / RowCount; break;

            case Mapping.FillOrder.RightLeftBottomTop: RowIndex = (Capacity - Ordinal - 1) / ColCount; ColIndex = (Capacity - Ordinal - 1) % ColCount; break;

            default: throw new ApplicationException("Unhandled mapping enumeration");
            }
            return(new System.Drawing.Point(ColIndex, RowIndex));
        }
Ejemplo n.º 12
0
        public string SaveToString()
        {
            var buffer = new string[16];

            buffer[0]  = ((short)Address).ToString(CultureInfo.InvariantCulture);
            buffer[1]  = ((int)SizeType).ToString(CultureInfo.InvariantCulture);
            buffer[2]  = Mul.ToString(CultureInfo.InvariantCulture);
            buffer[3]  = Div.ToString(CultureInfo.InvariantCulture);
            buffer[4]  = Offset.ToString(CultureInfo.InvariantCulture);
            buffer[5]  = Precision.ToString(CultureInfo.InvariantCulture);
            buffer[6]  = ((int)ItemType).ToString(CultureInfo.InvariantCulture);
            buffer[7]  = ColCount.ToString(CultureInfo.InvariantCulture);
            buffer[8]  = RowCount.ToString(CultureInfo.InvariantCulture);
            buffer[9]  = BitAddress.ToString(CultureInfo.InvariantCulture);
            buffer[10] = Reserve1.ToString(CultureInfo.InvariantCulture);
            buffer[11] = Reserve2.ToString(CultureInfo.InvariantCulture);
            buffer[12] = ReverseX ? "1" : "0";
            buffer[13] = ReverseY ? "1" : "0";
            buffer[14] = Min.ToString(CultureInfo.InvariantCulture);
            buffer[15] = Max.ToString(CultureInfo.InvariantCulture);

            return(String.Join(" ", buffer));
        }
Ejemplo n.º 13
0
 public void SetValue(Matrix4x4[] value)
 {
     // FIXME: All Matrix sizes... this will get ugly. -flibit
     unsafe
     {
         float *dstPtr = (float *)values;
         if (ColumnCount == 4 && RowCount == 4)
         {
             for (int i = 0; i < value.Length; i += 1, dstPtr += 16)
             {
                 dstPtr[0]  = value[i].M11;
                 dstPtr[1]  = value[i].M21;
                 dstPtr[2]  = value[i].M31;
                 dstPtr[3]  = value[i].M41;
                 dstPtr[4]  = value[i].M12;
                 dstPtr[5]  = value[i].M22;
                 dstPtr[6]  = value[i].M32;
                 dstPtr[7]  = value[i].M42;
                 dstPtr[8]  = value[i].M13;
                 dstPtr[9]  = value[i].M23;
                 dstPtr[10] = value[i].M33;
                 dstPtr[11] = value[i].M43;
                 dstPtr[12] = value[i].M14;
                 dstPtr[13] = value[i].M24;
                 dstPtr[14] = value[i].M34;
                 dstPtr[15] = value[i].M44;
             }
         }
         else if (ColumnCount == 3 && RowCount == 3)
         {
             for (int i = 0; i < value.Length; i += 1, dstPtr += 12)
             {
                 dstPtr[0]  = value[i].M11;
                 dstPtr[1]  = value[i].M21;
                 dstPtr[2]  = value[i].M31;
                 dstPtr[4]  = value[i].M12;
                 dstPtr[5]  = value[i].M22;
                 dstPtr[6]  = value[i].M32;
                 dstPtr[8]  = value[i].M13;
                 dstPtr[9]  = value[i].M23;
                 dstPtr[10] = value[i].M33;
             }
         }
         else if (ColumnCount == 4 && RowCount == 3)
         {
             for (int i = 0; i < value.Length; i += 1, dstPtr += 12)
             {
                 dstPtr[0]  = value[i].M11;
                 dstPtr[1]  = value[i].M21;
                 dstPtr[2]  = value[i].M31;
                 dstPtr[3]  = value[i].M41;
                 dstPtr[4]  = value[i].M12;
                 dstPtr[5]  = value[i].M22;
                 dstPtr[6]  = value[i].M32;
                 dstPtr[7]  = value[i].M42;
                 dstPtr[8]  = value[i].M13;
                 dstPtr[9]  = value[i].M23;
                 dstPtr[10] = value[i].M33;
                 dstPtr[11] = value[i].M43;
             }
         }
         else if (ColumnCount == 3 && RowCount == 4)
         {
             for (int i = 0; i < value.Length; i += 1, dstPtr += 16)
             {
                 dstPtr[0]  = value[i].M11;
                 dstPtr[1]  = value[i].M21;
                 dstPtr[2]  = value[i].M31;
                 dstPtr[4]  = value[i].M12;
                 dstPtr[5]  = value[i].M22;
                 dstPtr[6]  = value[i].M32;
                 dstPtr[8]  = value[i].M13;
                 dstPtr[9]  = value[i].M23;
                 dstPtr[10] = value[i].M33;
                 dstPtr[12] = value[i].M14;
                 dstPtr[13] = value[i].M24;
                 dstPtr[14] = value[i].M34;
             }
         }
         else if (ColumnCount == 2 && RowCount == 2)
         {
             for (int i = 0; i < value.Length; i += 1, dstPtr += 8)
             {
                 dstPtr[0] = value[i].M11;
                 dstPtr[1] = value[i].M21;
                 dstPtr[4] = value[i].M12;
                 dstPtr[5] = value[i].M22;
             }
         }
         else
         {
             throw new NotImplementedException(
                       "Matrix Size: " +
                       RowCount.ToString() + " " +
                       ColumnCount.ToString()
                       );
         }
     }
 }
Ejemplo n.º 14
0
    protected void Page_Load(object sender, EventArgs e)
    {
        SqlOperators   CurOperator;
        CellCollection CellCol;
        SearchFilter   sFilter;
        long?          RowCount;
        DataTable      dt;

        try
        {
            string BaseID        = Request["BaseID"];
            string Keyword       = Request["Keyword"];
            string Condition     = Request["Condition"];
            string FilterClm     = Request["FilterClm"];
            string SearchOperand = Request["SearchOperand"];
            string RowsPerPage   = "10";
            string CurPage       = "1";

            string TempKey = Keyword;
            Keyword = Tools.PersianTextCorrection(Keyword);
            int aa;
            if (Keyword == TempKey)
            {
                aa = 1;
            }


            IBaseBOL BOLClass;
            BOLClass = UITools.GetBOLClass(BaseID, null);
            CellCol  = BOLClass.GetCellCollection();

            if (FilterClm == "" || FilterClm == null)
            {
                FilterClm = CellCol[1].FieldName;
            }

            #region Security check
            Tools tools = new Tools();
            tools.AccessList = tools.GetAccessList(BaseID);
            if (!tools.HasAccess("View", BaseID))
            {
                Response.Write("Message:" + " دسترسی " + BOLClass.PageLable + " برای این کاربر وجود ندارد ");
                Response.End();
            }
            #endregion

            if (UITools.IsHardCode(BaseID))
            {
                BOLClass.QueryObjName = BaseID;
            }

            int TopStr = 10;

            #region Generate SearchFilter
            SearchFilterCollection sfCols = new SearchFilterCollection();
            if (FilterClm != null && FilterClm != "")
            {
                string[] FilterClmArray = FilterClm.Split(';');
                string[] ConditionArray = Condition.Split(';');
                string[] KeywordArray   = Keyword.Split(';');
                for (int c = 0; c < ConditionArray.Length; c++)
                {
                    switch (ConditionArray[c])
                    {
                    case "0":
                        CurOperator = SqlOperators.Like;
                        break;

                    case "1":
                        CurOperator = SqlOperators.Equal;
                        break;

                    case "2":
                        CurOperator = SqlOperators.GreaterThan;
                        break;

                    case "3":
                        CurOperator = SqlOperators.GreaterThanOrEqual;
                        break;

                    case "4":
                        CurOperator = SqlOperators.LessThan;
                        break;

                    case "5":
                        CurOperator = SqlOperators.LessThanOrEqual;
                        break;

                    case "6":
                        CurOperator = SqlOperators.NotEqual;
                        break;

                    case "7":
                        CurOperator = SqlOperators.DontHave;
                        break;

                    case "9":
                        CurOperator = SqlOperators.StartsWith;
                        break;

                    default:
                        CurOperator = SqlOperators.Like;
                        break;
                    }
                    sFilter = new SearchFilter(FilterClmArray[c], CurOperator, KeywordArray[c]);
                    if (SearchOperand != "" && SearchOperand != null)
                    {
                        if (SearchOperand == "AND")
                        {
                            sFilter.CurOperand = Operands.AND;
                        }
                        else
                        {
                            sFilter.CurOperand = Operands.OR;
                        }
                    }
                    sfCols.Add(sFilter);
                }
            }
            #endregion
            if (BaseID == "Keywords")
            {
                dt = BOLClass.GetDataSource(sfCols, "Name", Convert.ToInt32(RowsPerPage), Convert.ToInt32(CurPage));
            }
            else
            {
                dt = BOLClass.GetDataSource(sfCols, "Code", Convert.ToInt32(RowsPerPage), Convert.ToInt32(CurPage));
            }

            RowCount = BOLClass.GetCount(sfCols);

            dt.ExtendedProperties.Add("RecCount", RowCount.ToString());
            dt.ExtendedProperties.Add("CurPage", CurPage);
            dt.ExtendedProperties.Add("RowsPerPage", RowsPerPage);
            dt.ExtendedProperties.Add("FilterClm", FilterClm);

            int    ColCount   = dt.Columns.Count;
            string DelColList = "";
            for (int i = 0; i < ColCount; i++)
            {
                if (!IsInSelectedList(dt.Columns[i], CellCol))
                {
                    if (DelColList == "")
                    {
                        DelColList = dt.Columns[i].ColumnName;
                    }
                    else
                    {
                        DelColList = DelColList + "," + dt.Columns[i].ColumnName;
                    }
                }
            }
            if (DelColList != "")
            {
                string[] DelColListArray = DelColList.Split(',');
                for (int d = 0; d < DelColListArray.Length; d++)
                {
                    dt.Columns.Remove(DelColListArray[d]);
                }
            }

            #region Removing Null Values
            foreach (DataRow loRow in dt.Rows)
            {
                foreach (DataColumn loColumn in dt.Columns)
                {
                    if (loRow[loColumn.ColumnName] == DBNull.Value)
                    {
                        try
                        {
                            switch (loColumn.DataType.ToString())
                            {
                            case "System.DateTime":
                                loRow[loColumn.ColumnName] = "";
                                break;

                            case "System.Int64":
                            case "System.Int32":
                            case "System.Int16":
                            case "System.Single":
                            case "System.Decimal":
                            case "System.Byte":
                            case "System.Double":
                                loRow[loColumn.ColumnName] = 0;
                                break;

                            case "System.Boolean":
                                loRow[loColumn.ColumnName] = true;
                                break;

                            default:
                                loRow[loColumn.ColumnName] = "";
                                break;
                            }
                        }
                        catch
                        {
                        }
                    }
                }
            }
            #endregion

            for (int i = 0; i < dt.Columns.Count; i++)
            {
                dt.Columns[i].ExtendedProperties.Add("DataType", dt.Columns[i].DataType);
            }

            for (int i = 0; i < CellCol.Count; i++)
            {
                if (CellCol[i].DataBGCellCol.Name != "0")
                {
                    dt.Columns[i].ExtendedProperties.Add("BgColor", CellCol[i].DataBGCellCol.Name);
                }
                if (CellCol[i].HeaderBGCellCol.Name != "0")
                {
                    dt.Columns[i].ExtendedProperties.Add("HeaderBgColor", CellCol[i].HeaderBGCellCol.Name);
                }
                if (CellCol[i].Direction != Directions.None)
                {
                    dt.Columns[i].ExtendedProperties.Add("Direction", CellCol[i].Direction.ToString());
                }
                if (CellCol[i].Align != AlignTypes.None)
                {
                    dt.Columns[i].ExtendedProperties.Add("Alignment", CellCol[i].Align.ToString());
                }
                if (CellCol[i].Width != 0)
                {
                    dt.Columns[i].ExtendedProperties.Add("Width", CellCol[i].Width.ToString());
                }
                if (CellCol[i].IsListTitle != false)
                {
                    dt.Columns[i].ExtendedProperties.Add("IsListTitle", "1");
                }
                dt.Columns[i].ExtendedProperties.Add("DisplayMode", CellCol[i].DisplayMode.ToString());
                if (CellCol[i].IsKey)
                {
                    dt.Columns[i].ExtendedProperties.Add("IsKey", "1");
                }
                dt.Columns[i].ExtendedProperties.Add("Caption", CellCol[i].CaptionName);
            }
            dt.ExtendedProperties.Add("LabelName", BOLClass.PageLable);


            dt.TableName = BaseID;
            dt.WriteXml(Response.OutputStream, XmlWriteMode.WriteSchema);
        }
        catch (Exception exp)
        {
            Response.Write("Message:" + " بروز خطای غیر منتظره " + exp.Message);
            Response.End();
        }
    }
Ejemplo n.º 15
0
 public void SetValueTranspose(Matrix value)
 {
     // FIXME: All Matrix sizes... this will get ugly. -flibit
     unsafe
     {
         float *dstPtr = (float *)values;
         if (ColumnCount == 4 && RowCount == 4)
         {
             dstPtr[0]  = value.M11;
             dstPtr[1]  = value.M21;
             dstPtr[2]  = value.M31;
             dstPtr[3]  = value.M41;
             dstPtr[4]  = value.M12;
             dstPtr[5]  = value.M22;
             dstPtr[6]  = value.M32;
             dstPtr[7]  = value.M42;
             dstPtr[8]  = value.M13;
             dstPtr[9]  = value.M23;
             dstPtr[10] = value.M33;
             dstPtr[11] = value.M43;
             dstPtr[12] = value.M14;
             dstPtr[13] = value.M24;
             dstPtr[14] = value.M34;
             dstPtr[15] = value.M44;
         }
         else if (ColumnCount == 3 && RowCount == 3)
         {
             dstPtr[0] = value.M11;
             dstPtr[1] = value.M21;
             dstPtr[2] = value.M31;
             dstPtr[3] = value.M12;
             dstPtr[4] = value.M22;
             dstPtr[5] = value.M32;
             dstPtr[6] = value.M13;
             dstPtr[7] = value.M23;
             dstPtr[8] = value.M33;
         }
         else if (ColumnCount == 4 && RowCount == 3)
         {
             dstPtr[0]  = value.M11;
             dstPtr[1]  = value.M21;
             dstPtr[2]  = value.M31;
             dstPtr[3]  = value.M41;
             dstPtr[4]  = value.M12;
             dstPtr[5]  = value.M22;
             dstPtr[6]  = value.M32;
             dstPtr[7]  = value.M42;
             dstPtr[8]  = value.M13;
             dstPtr[9]  = value.M23;
             dstPtr[10] = value.M33;
             dstPtr[11] = value.M43;
         }
         else if (ColumnCount == 3 && RowCount == 4)
         {
             dstPtr[0]  = value.M11;
             dstPtr[1]  = value.M21;
             dstPtr[2]  = value.M31;
             dstPtr[3]  = value.M12;
             dstPtr[4]  = value.M22;
             dstPtr[5]  = value.M32;
             dstPtr[6]  = value.M13;
             dstPtr[7]  = value.M23;
             dstPtr[8]  = value.M33;
             dstPtr[9]  = value.M14;
             dstPtr[10] = value.M24;
             dstPtr[11] = value.M34;
         }
         else
         {
             throw new NotImplementedException(
                       "Matrix Size: " +
                       RowCount.ToString() + " " +
                       ColumnCount.ToString()
                       );
         }
     }
 }
Ejemplo n.º 16
0
 public void SetValue(Matrix[] value)
 {
     // FIXME: All Matrix sizes... this will get ugly. -flibit
     unsafe
     {
         float *dstPtr    = (float *)values;
         int    curOffset = 0;
         if (ColumnCount == 4 && RowCount == 4)
         {
             for (int i = 0; i < value.Length; i += 1)
             {
                 dstPtr[curOffset++] = value[i].M11;
                 dstPtr[curOffset++] = value[i].M12;
                 dstPtr[curOffset++] = value[i].M13;
                 dstPtr[curOffset++] = value[i].M14;
                 dstPtr[curOffset++] = value[i].M21;
                 dstPtr[curOffset++] = value[i].M22;
                 dstPtr[curOffset++] = value[i].M23;
                 dstPtr[curOffset++] = value[i].M24;
                 dstPtr[curOffset++] = value[i].M31;
                 dstPtr[curOffset++] = value[i].M32;
                 dstPtr[curOffset++] = value[i].M33;
                 dstPtr[curOffset++] = value[i].M34;
                 dstPtr[curOffset++] = value[i].M41;
                 dstPtr[curOffset++] = value[i].M42;
                 dstPtr[curOffset++] = value[i].M43;
                 dstPtr[curOffset++] = value[i].M44;
             }
         }
         else if (ColumnCount == 3 && RowCount == 3)
         {
             for (int i = 0; i < value.Length; i += 1)
             {
                 dstPtr[curOffset++] = value[i].M11;
                 dstPtr[curOffset++] = value[i].M12;
                 dstPtr[curOffset++] = value[i].M13;
                 dstPtr[curOffset++] = value[i].M21;
                 dstPtr[curOffset++] = value[i].M22;
                 dstPtr[curOffset++] = value[i].M23;
                 dstPtr[curOffset++] = value[i].M31;
                 dstPtr[curOffset++] = value[i].M32;
                 dstPtr[curOffset++] = value[i].M33;
             }
         }
         else if (ColumnCount == 4 && RowCount == 3)
         {
             for (int i = 0; i < value.Length; i += 1)
             {
                 dstPtr[curOffset++] = value[i].M11;
                 dstPtr[curOffset++] = value[i].M12;
                 dstPtr[curOffset++] = value[i].M13;
                 dstPtr[curOffset++] = value[i].M21;
                 dstPtr[curOffset++] = value[i].M22;
                 dstPtr[curOffset++] = value[i].M23;
                 dstPtr[curOffset++] = value[i].M31;
                 dstPtr[curOffset++] = value[i].M32;
                 dstPtr[curOffset++] = value[i].M33;
                 dstPtr[curOffset++] = value[i].M41;
                 dstPtr[curOffset++] = value[i].M42;
                 dstPtr[curOffset++] = value[i].M43;
             }
         }
         else if (ColumnCount == 3 && RowCount == 4)
         {
             for (int i = 0; i < value.Length; i += 1)
             {
                 dstPtr[curOffset++] = value[i].M11;
                 dstPtr[curOffset++] = value[i].M12;
                 dstPtr[curOffset++] = value[i].M13;
                 dstPtr[curOffset++] = value[i].M14;
                 dstPtr[curOffset++] = value[i].M21;
                 dstPtr[curOffset++] = value[i].M22;
                 dstPtr[curOffset++] = value[i].M23;
                 dstPtr[curOffset++] = value[i].M24;
                 dstPtr[curOffset++] = value[i].M31;
                 dstPtr[curOffset++] = value[i].M32;
                 dstPtr[curOffset++] = value[i].M33;
                 dstPtr[curOffset++] = value[i].M34;
             }
         }
         else
         {
             throw new NotImplementedException(
                       "Matrix Size: " +
                       RowCount.ToString() + " " +
                       ColumnCount.ToString()
                       );
         }
     }
 }
Ejemplo n.º 17
0
 public Matrix[] GetValueMatrixTransposeArray(int count)
 {
     // FIXME: All Matrix sizes... this will get ugly. -flibit
     Matrix[] result = new Matrix[count];
     unsafe
     {
         float *resPtr    = (float *)values;
         int    curOffset = 0;
         if (ColumnCount == 4 && RowCount == 4)
         {
             for (int i = 0; i < count; i += 1)
             {
                 result[i] = new Matrix(
                     resPtr[curOffset + 0],
                     resPtr[curOffset + 4],
                     resPtr[curOffset + 8],
                     resPtr[curOffset + 12],
                     resPtr[curOffset + 1],
                     resPtr[curOffset + 5],
                     resPtr[curOffset + 9],
                     resPtr[curOffset + 13],
                     resPtr[curOffset + 2],
                     resPtr[curOffset + 6],
                     resPtr[curOffset + 10],
                     resPtr[curOffset + 14],
                     resPtr[curOffset + 3],
                     resPtr[curOffset + 7],
                     resPtr[curOffset + 11],
                     resPtr[curOffset + 15]
                     );
                 curOffset += 16;
             }
         }
         else if (ColumnCount == 3 && RowCount == 3)
         {
             for (int i = 0; i < count; i += 1)
             {
                 result[i] = new Matrix(
                     resPtr[curOffset],
                     resPtr[curOffset + 3],
                     resPtr[curOffset + 6],
                     0.0f,
                     resPtr[curOffset + 1],
                     resPtr[curOffset + 4],
                     resPtr[curOffset + 7],
                     0.0f,
                     resPtr[curOffset + 2],
                     resPtr[curOffset + 5],
                     resPtr[curOffset + 8],
                     0.0f,
                     0.0f,
                     0.0f,
                     0.0f,
                     0.0f
                     );
                 curOffset += 9;
             }
         }
         else if (ColumnCount == 4 && RowCount == 3)
         {
             for (int i = 0; i < count; i += 1)
             {
                 result[i] = new Matrix(
                     resPtr[curOffset],
                     resPtr[curOffset + 4],
                     resPtr[curOffset + 8],
                     0.0f,
                     resPtr[curOffset + 1],
                     resPtr[curOffset + 5],
                     resPtr[curOffset + 9],
                     0.0f,
                     resPtr[curOffset + 2],
                     resPtr[curOffset + 6],
                     resPtr[curOffset + 10],
                     0.0f,
                     resPtr[curOffset + 3],
                     resPtr[curOffset + 7],
                     resPtr[curOffset + 11],
                     0.0f
                     );
                 curOffset += 12;
             }
         }
         else if (ColumnCount == 3 && RowCount == 4)
         {
             for (int i = 0; i < count; i += 1)
             {
                 result[i] = new Matrix(
                     resPtr[curOffset],
                     resPtr[curOffset + 3],
                     resPtr[curOffset + 6],
                     resPtr[curOffset + 9],
                     resPtr[curOffset + 1],
                     resPtr[curOffset + 4],
                     resPtr[curOffset + 7],
                     resPtr[curOffset + 10],
                     resPtr[curOffset + 2],
                     resPtr[curOffset + 5],
                     resPtr[curOffset + 8],
                     resPtr[curOffset + 11],
                     0.0f,
                     0.0f,
                     0.0f,
                     0.0f
                     );
                 curOffset += 12;
             }
         }
         else
         {
             throw new NotImplementedException(
                       "Matrix Size: " +
                       RowCount.ToString() + " " +
                       ColumnCount.ToString()
                       );
         }
     }
     return(result);
 }
Ejemplo n.º 18
0
 public Matrix GetValueMatrixTranspose()
 {
     // FIXME: All Matrix sizes... this will get ugly. -flibit
     unsafe
     {
         float *resPtr = (float *)values;
         if (ColumnCount == 4 && RowCount == 4)
         {
             return(new Matrix(
                        resPtr[0],
                        resPtr[4],
                        resPtr[8],
                        resPtr[12],
                        resPtr[1],
                        resPtr[5],
                        resPtr[9],
                        resPtr[13],
                        resPtr[2],
                        resPtr[6],
                        resPtr[10],
                        resPtr[14],
                        resPtr[3],
                        resPtr[7],
                        resPtr[11],
                        resPtr[15]
                        ));
         }
         else if (ColumnCount == 3 && RowCount == 3)
         {
             return(new Matrix(
                        resPtr[0],
                        resPtr[3],
                        resPtr[6],
                        0.0f,
                        resPtr[1],
                        resPtr[4],
                        resPtr[7],
                        0.0f,
                        resPtr[2],
                        resPtr[5],
                        resPtr[8],
                        0.0f,
                        0.0f,
                        0.0f,
                        0.0f,
                        0.0f
                        ));
         }
         else if (ColumnCount == 4 && RowCount == 3)
         {
             return(new Matrix(
                        resPtr[0],
                        resPtr[4],
                        resPtr[8],
                        0.0f,
                        resPtr[1],
                        resPtr[5],
                        resPtr[9],
                        0.0f,
                        resPtr[2],
                        resPtr[6],
                        resPtr[10],
                        0.0f,
                        resPtr[3],
                        resPtr[7],
                        resPtr[11],
                        0.0f
                        ));
         }
         else if (ColumnCount == 3 && RowCount == 4)
         {
             return(new Matrix(
                        resPtr[0],
                        resPtr[3],
                        resPtr[6],
                        resPtr[9],
                        resPtr[1],
                        resPtr[4],
                        resPtr[7],
                        resPtr[10],
                        resPtr[2],
                        resPtr[5],
                        resPtr[8],
                        resPtr[11],
                        0.0f,
                        0.0f,
                        0.0f,
                        0.0f
                        ));
         }
         else
         {
             throw new NotImplementedException(
                       "Matrix Size: " +
                       RowCount.ToString() + " " +
                       ColumnCount.ToString()
                       );
         }
     }
 }
Ejemplo n.º 19
0
    protected void Page_Load(object sender, EventArgs e)
    {
        try
        {
            //System.Threading.Thread.Sleep(5000);
            string BaseID        = Request["BaseID"];
            string OldOrder      = Request["OldOrder"];
            string Order         = Request["Order"];
            string Repeat        = Request["Repeat"];
            string RowsPerPage   = Request["RowsPerPage"];
            string CurPage       = Request["CurPage"];
            string Keyword       = Request["Keyword"];
            string Condition     = Request["Condition"];
            string FilterClm     = Request["FilterClm"];
            string DelCode       = Request["DelCode"];
            string ShowMode      = Request["ShowMode"];
            string SearchOperand = Request["SearchOperand"];
            string ViewName      = Request["ViewName"];
            if (Keyword != null && Keyword != "")
            {
                Keyword = Tools.PersianTextCorrection(Keyword);
            }
            int MasterCode = string.IsNullOrEmpty(Request["MasterCode"]) ? -1 : Convert.ToInt32(Request["MasterCode"]);



            IBaseBOL BOLClass;
            BOLClass = UITools.GetBOLClass(BaseID, MasterCode);

            #region Security check
            Tools tools = new Tools();
            tools.AccessList = tools.GetAccessList(BaseID);
            int AccessVal = 0;
            if (tools.HasAccess("New", BaseID))
            {
                AccessVal += 1;
            }
            if (tools.HasAccess("Edit", BaseID))
            {
                AccessVal += 2;
            }
            if (tools.HasAccess("Delete", BaseID))
            {
                AccessVal += 4;
            }
            if (tools.HasAccess("View", BaseID))
            {
                AccessVal += 8;
            }
            if (tools.HasAccess("Print", BaseID))
            {
                AccessVal += 16;
            }



            if (!tools.HasAccess("View", BaseID))
            {
                Response.Write("Message:" + " دسترسی " + BOLClass.PageLable + " برای این کاربر وجود ندارد ");
                return;
            }
            #endregion


            int         UserCode         = Convert.ToInt32(Session["UserCode"]);
            BOLUserLogs UserLogsBOL      = new BOLUserLogs(UserCode);
            int         HCUserActionCode = 1;//مشاهده
            string      ClientIP         = Request.ServerVariables["REMOTE_ADDR"];
            //UserLogsBOL.InsertLog(UserCode, HCUserActionCode, DateTime.Now, null, BaseID, ClientIP);


            if (UITools.IsHardCode(BaseID))
            {
                BOLClass.QueryObjName = BaseID;
            }

            int TopStr = 10;
            if (CurPage != null && RowsPerPage != null)
            {
                TopStr = Convert.ToInt32(CurPage) * Convert.ToInt32(RowsPerPage);
            }

            if (CurPage == null || CurPage == "")
            {
                CurPage = "1";
            }
            if (Repeat == null)
            {
                Repeat = "1";
            }
            string OrderCol = Order;
            if (Order != null)
            {
                if (Order == OldOrder && Repeat == "0")
                {
                    OrderCol = OrderCol + " DESC";
                }
                else
                {
                    OrderCol = Order;
                }
            }
            else
            {
                Order    = "Code DESC";
                OrderCol = "Code DESC";
            }

            if (RowsPerPage == null)
            {
                RowsPerPage = "20";
            }

            #region Generate SearchFilter
            SqlOperators           CurOperator;
            CellCollection         CellCol;
            SearchFilter           sFilter;
            long?                  RowCount;
            DataTable              dt;
            SearchFilterCollection sfCols = new SearchFilterCollection();
            if (FilterClm != null && FilterClm != "")
            {
                string[] FilterClmArray = FilterClm.Split(';');
                string[] ConditionArray = Condition.Split(';');
                string[] KeywordArray   = Keyword.Split(';');
                for (int c = 0; c < ConditionArray.Length; c++)
                {
                    switch (ConditionArray[c])
                    {
                    case "0":
                        CurOperator = SqlOperators.Like;
                        break;

                    case "1":
                        CurOperator = SqlOperators.Equal;
                        break;

                    case "2":
                        CurOperator = SqlOperators.GreaterThan;
                        break;

                    case "3":
                        CurOperator = SqlOperators.GreaterThanOrEqual;
                        break;

                    case "4":
                        CurOperator = SqlOperators.LessThan;
                        break;

                    case "5":
                        CurOperator = SqlOperators.Equal;
                        break;

                    case "6":
                        CurOperator = SqlOperators.NotEqual;
                        break;

                    case "7":
                        CurOperator = SqlOperators.DontHave;
                        break;

                    case "9":
                        CurOperator = SqlOperators.StartsWith;
                        break;

                    default:
                        CurOperator = SqlOperators.Like;
                        break;
                    }
                    sFilter = new SearchFilter(FilterClmArray[c], CurOperator, KeywordArray[c]);
                    if (SearchOperand != "" && SearchOperand != null)
                    {
                        if (SearchOperand == "AND")
                        {
                            sFilter.CurOperand = Operands.AND;
                        }
                        else
                        {
                            sFilter.CurOperand = Operands.OR;
                        }
                    }
                    sfCols.Add(sFilter);
                }
            }
            #endregion

            if (DelCode != null)
            {
                try
                {
                    if (ViewName == "" || ViewName == null) //normal browse
                    {
                        if (BaseID == "UserLogs" || BaseID == "UserTransactions")
                        {
                            Response.Write("Message:" + "  رکورد قابل حذف نیست ");
                            return;
                        }
                        BOLClass.DeleteRecord(DelCode);
                        HCUserActionCode = 4;//حذف
                        //UserLogsBOL.InsertLog(UserCode, HCUserActionCode, DateTime.Now, DelCode, BaseID, ClientIP);
                    }
                    else
                    {
                    }
                    Response.Write("DELETED");
                }
                catch (Exception e1)
                {
                    string DelError = e1.Message;
                    if (e1.Message.StartsWith("The DELETE statement conflicted with the REFERENCE constraint"))
                    {
                        DelError = "رکورد انتخاب شده دارای اطلاعات مرتبط میباشد و قابل حذف نیست";
                    }
                    Response.Write(DelError);
                }
                return;
            }

            if (ViewName == "" || ViewName == null) //normal browse
            {
                dt       = BOLClass.GetDataSource(sfCols, OrderCol, Convert.ToInt32(RowsPerPage), Convert.ToInt32(CurPage));
                RowCount = BOLClass.GetCount(sfCols);
                if (ShowMode != "List")
                {
                    CellCol = BOLClass.GetCellCollection();
                }
                else
                {
                    CellCol = BOLClass.GetListCellCollection();
                }
            }
            else //Custom Views
            {
                BrowseSchema BS = new BrowseSchema();
                CellCol  = BS.CellCollection;
                dt       = BS.DataTBL;
                RowCount = BS.Count;
            }

            dt.ExtendedProperties.Add("RecCount", RowCount.ToString());
            dt.ExtendedProperties.Add("CurPage", CurPage);
            dt.ExtendedProperties.Add("RowsPerPage", RowsPerPage);
            dt.ExtendedProperties.Add("Order", Order);
            dt.ExtendedProperties.Add("CurRepeat", Repeat);
            dt.ExtendedProperties.Add("AccessVal", AccessVal);


            int    ColCount   = dt.Columns.Count;
            string DelColList = "";
            for (int i = 0; i < ColCount; i++)
            {
                if (!IsInSelectedList(dt.Columns[i], CellCol))
                {
                    if (DelColList == "")
                    {
                        DelColList = dt.Columns[i].ColumnName;
                    }
                    else
                    {
                        DelColList = DelColList + "," + dt.Columns[i].ColumnName;
                    }
                }
                //dt.Columns.Remove(dt.Columns[i].ColumnName);
            }
            if (DelColList != "")
            {
                string[] DelColListArray = DelColList.Split(',');
                for (int d = 0; d < DelColListArray.Length; d++)
                {
                    dt.Columns.Remove(DelColListArray[d]);
                }
            }

            #region Removing Null Values
            foreach (DataRow loRow in dt.Rows)
            {
                foreach (DataColumn loColumn in dt.Columns)
                {
                    if (loRow[loColumn.ColumnName] == DBNull.Value)
                    {
                        try
                        {
                            switch (loColumn.DataType.ToString())
                            {
                            case "System.DateTime":
                                loRow[loColumn.ColumnName] = "";
                                break;

                            case "System.Int64":
                            case "System.Int32":
                            case "System.Int16":
                            case "System.Single":
                            case "System.Decimal":
                            case "System.Byte":
                            case "System.Double":
                                loRow[loColumn.ColumnName] = 0;
                                break;

                            case "System.Boolean":
                                loRow[loColumn.ColumnName] = true;
                                break;

                            default:
                                loRow[loColumn.ColumnName] = "";
                                break;
                            }
                        }
                        catch
                        {
                        }
                    }
                }
            }
            #endregion

            for (int i = 0; i < dt.Columns.Count; i++)
            {
                dt.Columns[i].ExtendedProperties.Add("DataType", dt.Columns[i].DataType);
            }

            for (int i = 0; i < CellCol.Count; i++)
            {
                if (CellCol[i].DataBGCellCol.Name != "0")
                {
                    dt.Columns[i].ExtendedProperties.Add("BgColor", CellCol[i].DataBGCellCol.Name);
                }
                if (CellCol[i].HeaderBGCellCol.Name != "0")
                {
                    dt.Columns[i].ExtendedProperties.Add("HeaderBgColor", CellCol[i].HeaderBGCellCol.Name);
                }
                if (CellCol[i].Direction != Directions.None)
                {
                    dt.Columns[i].ExtendedProperties.Add("Direction", CellCol[i].Direction.ToString());
                }
                if (CellCol[i].Align != AlignTypes.None)
                {
                    dt.Columns[i].ExtendedProperties.Add("Alignment", CellCol[i].Align.ToString());
                }
                if (CellCol[i].Width != 0)
                {
                    dt.Columns[i].ExtendedProperties.Add("Width", CellCol[i].Width.ToString());
                }
                if (CellCol[i].IsListTitle != false)
                {
                    dt.Columns[i].ExtendedProperties.Add("IsListTitle", "1");
                }
                dt.Columns[i].ExtendedProperties.Add("DisplayMode", CellCol[i].DisplayMode.ToString());
                if (CellCol[i].IsKey)
                {
                    dt.Columns[i].ExtendedProperties.Add("IsKey", "1");
                }
                dt.Columns[i].ExtendedProperties.Add("Caption", CellCol[i].CaptionName);
            }
            dt.ExtendedProperties.Add("EditForm", BOLClass.EditForm);
            dt.ExtendedProperties.Add("ViewForm", BOLClass.ViewForm);
            dt.ExtendedProperties.Add("LabelName", BOLClass.PageLable);
            dt.ExtendedProperties.Add("EditWidth", BOLClass.EditWidth);
            dt.ExtendedProperties.Add("EditHeight", BOLClass.EditHeight);
            dt.ExtendedProperties.Add("ViewName", ViewName);


            dt.TableName = BaseID;
            dt.WriteXml(Response.OutputStream, XmlWriteMode.WriteSchema);
            //dt.WriteXml(Response.OutputStream);
        }
        catch (Exception exp)
        {
            Response.Write("Message:" + " بروز خطای غیر منتظره " + exp.Message);
            return;
        }
    }
Ejemplo n.º 20
0
        private void DataGridViewSummary_DataSourceChanged(object sender, EventArgs e)
        {
            SuspendLayout();
            if (firstBind)
            {
                firstBind = false;


                //  AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells;//自动调整单元格大小适应内容
                SelectionMode = DataGridViewSelectionMode.FullRowSelect; //单击选择整行
                MultiSelect   = false;                                   //不允许多选单元格

                // ColumnHeadersHeight = cellFontSize+15;

                ColumnHeadersDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;//列标题居中显示
                ColumnHeadersDefaultCellStyle.BackColor = Color.Silver;

                RowsDefaultCellStyle.BackColor            = Color.White;
                AlternatingRowsDefaultCellStyle.BackColor = Color.LightBlue;
                ColumnHeadersDefaultCellStyle.Font        = new System.Drawing.Font("宋体", headerFontSize, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(134)));

                RowsDefaultCellStyle.Font = new Font("宋体", cellFontSize);
                AllowUserToResizeRows     = false;

                if (hasCheckBoxColumn)
                {
                    Columns[0].MinimumWidth = 50;
                    Columns[0].HeaderText   = "";
                    Columns[0].SortMode     = DataGridViewColumnSortMode.NotSortable;

                    int rowHeaderWidth = RowHeadersVisible ? RowHeadersWidth - 1 : 0;
                    int x = Columns[0].Width / 2 - headerCheckBox.Width / 2 + rowHeaderWidth;
                    int y = ColumnHeadersHeight / 2 - headerCheckBox.Height / 2;
                    headerCheckBox.Location = new Point(x, y);
                    headerVisibleX          = Columns[0].Width / 2;
                    headerCheckBox.Visible  = true;
                }
            }

            Graphics gh = this.CreateGraphics();
            SizeF    sf = gh.MeasureString(RowCount.ToString(), RowsDefaultCellStyle.Font);

            RowHeadersWidth = (int)sf.Width + 20;

            if (summaryRowVisible && summaryColumns != null)
            {
                foreach (DataGridViewColumn dgvColumn in Columns)
                {
                    if (summaryColumns.Contains(dgvColumn.Name))
                    {
                        ReadOnlyTextBox sumBox = (ReadOnlyTextBox)summaryControl.sumBoxHash[dgvColumn];

                        sf = gh.MeasureString(sumBox.Text, RowsDefaultCellStyle.Font);
                        dgvColumn.MinimumWidth = (int)sf.Width + 10;
                    }
                }
            }
            AutoResizeColumns();
            calculateColumnsWidth();
            ResumeLayout(false);
        }