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(); //} }
private void CustomGridView_RowCountChanged(object sender, EventArgs e) { if (ShowIndexIndicator) { var n = RowCount.ToString().Length; IndicatorWidth = 25 + n * 6; } }
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); } } }
/// <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(); } }
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(); }
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;}"; }
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); }
// 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); }
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()); } }
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); }
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)); }
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)); }
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() ); } } }
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(); } }
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() ); } } }
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() ); } } }
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); }
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() ); } } }
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; } }
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); }