本文整理汇总了C#中GridVirtual.GetCell方法的典型用法代码示例。如果您正苦于以下问题:C# GridVirtual.GetCell方法的具体用法?C# GridVirtual.GetCell怎么用?C# GridVirtual.GetCell使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类GridVirtual
的用法示例。
在下文中一共展示了GridVirtual.GetCell方法的13个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: grid_MouseDown
protected virtual void grid_MouseDown(GridVirtual sender, System.Windows.Forms.MouseEventArgs e)
{
//verifico che l'eventuale edit sia terminato altrimenti esco
if (sender.Selection.ActivePosition.IsEmpty() == false)
{
CellContext focusCell = new CellContext(sender, sender.Selection.ActivePosition);
if (focusCell.Cell != null && focusCell.IsEditing())
{
if (focusCell.EndEdit(false) == false)
return;
}
}
//scateno eventi di MouseDown
Position position = sender.PositionAtPoint( new Point(e.X, e.Y) );
if (position.IsEmpty() == false)
{
Cells.ICellVirtual cellMouseDown = sender.GetCell(position);
if (cellMouseDown != null)
{
sender.ChangeMouseDownCell(position, position);
//Cell.OnMouseDown
CellContext cellContext = new CellContext(sender, position, cellMouseDown);
sender.Controller.OnMouseDown(cellContext, e);
}
}
else
sender.ChangeMouseDownCell(Position.Empty, Position.Empty);
}
示例2: Export
public virtual void Export(GridVirtual grid, System.IO.TextWriter stream)
{
for (int r = 0; r < grid.Rows.Count; r++)
{
for (int c = 0; c < grid.Columns.Count; c++)
{
if (c > 0)
stream.Write(mFieldSeparator);
Cells.ICellVirtual cell = grid.GetCell(r, c);
Position pos = new Position(r, c);
CellContext context = new CellContext(grid, pos, cell);
ExportCSVCell(context, stream);
}
stream.Write(mLineSeparator);
}
}
示例3: Export
public void Export(GridVirtual grid)
{
System.Xml.XmlTextWriter writer = new System.Xml.XmlTextWriter(Stream,
System.Text.Encoding.UTF8);
//write HTML and BODY
if ( (Mode & ExportHTMLMode.HTMLAndBody) == ExportHTMLMode.HTMLAndBody)
{
writer.WriteStartElement("html");
writer.WriteStartElement("body");
}
writer.WriteStartElement("table");
writer.WriteAttributeString("cellspacing","0");
writer.WriteAttributeString("cellpadding","0");
for (int r = 0; r < grid.Rows.Count; r++)
{
writer.WriteStartElement("tr");
for (int c = 0; c < grid.Columns.Count; c++)
{
Cells.ICellVirtual cell = grid.GetCell(r,c);
Position pos = new Position(r,c);
CellContext context = new CellContext(grid, pos, cell);
ExportHTMLCell(context, writer);
}
//tr
writer.WriteEndElement();
}
//table
writer.WriteEndElement();
//write end HTML and BODY
if ( (Mode & ExportHTMLMode.HTMLAndBody) == ExportHTMLMode.HTMLAndBody)
{
//body
writer.WriteEndElement();
//html
writer.WriteEndElement();
}
writer.Flush();
}
示例4: Export
public virtual void Export(GridVirtual grid, System.Drawing.Graphics graphics,
Range rangeToExport, System.Drawing.Point destinationLocation)
{
if (rangeToExport.IsEmpty())
return;
System.Drawing.Point cellPoint = destinationLocation;
using (DevAge.Drawing.GraphicsCache graphicsCache = new DevAge.Drawing.GraphicsCache(graphics))
{
for (int r = rangeToExport.Start.Row; r <= rangeToExport.End.Row; r++)
{
int rowHeight = grid.Rows.GetHeight(r);
for (int c = rangeToExport.Start.Column; c <= rangeToExport.End.Column; c++)
{
Rectangle cellRectangle;
Position pos = new Position(r, c);
Size cellSize = new Size(grid.Columns.GetWidth(c), rowHeight);
Range range = grid.PositionToCellRange(pos);
//support for RowSpan or ColSpan
//Note: for now I draw only the merged cell at the first position
// (this can cause a problem if you export partial range that contains a partial merged cells)
if ( range.ColumnsCount > 1 || range.RowsCount > 1)
{
//Is the first position
if (range.Start == pos)
{
Size rangeSize = grid.RangeToSize(range);
cellRectangle = new Rectangle(cellPoint,
rangeSize);
}
else
cellRectangle = Rectangle.Empty;
}
else
{
cellRectangle = new Rectangle(cellPoint, cellSize);
}
if (cellRectangle.IsEmpty == false)
{
Cells.ICellVirtual cell = grid.GetCell(pos);
CellContext context = new CellContext(grid, pos, cell);
ExportCell(context, graphicsCache, cellRectangle);
}
cellPoint = new Point(cellPoint.X + cellSize.Width, cellPoint.Y);
}
cellPoint = new Point(destinationLocation.X, cellPoint.Y + rowHeight);
}
}
}
示例5: grid_MouseMove
protected virtual void grid_MouseMove(GridVirtual sender, System.Windows.Forms.MouseEventArgs e)
{
if (e.Button == MouseButtons.Left && sender.Selection.EnableMultiSelection)
{
//Scroll if necesary
sender.ScrollOnPoint(e.Location);
Position pointPosition = sender.PositionAtPoint(e.Location);
Cells.ICellVirtual cellPosition = sender.GetCell(pointPosition);
//Only if there is a FocusCell
CellContext focusCellContext = new CellContext(sender, sender.Selection.ActivePosition);
if (focusCellContext.Cell != null && focusCellContext.IsEditing() ==false)
{
Position selCornerPos = pointPosition;
Cells.ICellVirtual selCorner = cellPosition;
////If the current Focus Cell is a scrollable cell then search the current cell (under the mouse)only in scrollable cells
//// see PositionAtPoint with false parameter
//if (sender.GetPositionType(sender.Selection.ActivePosition) == CellPositionType.Scrollable)
//{
// selCornerPos = sender.PositionAtPoint(new Point(e.X, e.Y));
// selCorner = sender.GetCell(pointPosition);
//}
if (selCornerPos.IsEmpty() == false && selCorner != null)
{
//Only if the user start the selection with a cell (m_MouseDownCell!=null)
if (sender.MouseDownPosition.IsEmpty() == false && sender.Selection.IsSelectedCell(sender.MouseDownPosition))
{
sender.ChangeMouseSelectionCorner(selCornerPos);
//sender.ShowCell(l_SelCornerPos);
}
}
}
}
}
示例6: grid_MouseMove
protected virtual void grid_MouseMove(GridVirtual sender, System.Windows.Forms.MouseEventArgs e)
{
Position l_PointPosition = sender.PositionAtPoint(new Point(e.X, e.Y));
Cells.ICellVirtual l_CellPosition = sender.GetCell(l_PointPosition);
//Call MouseMove on the cell that receive tha MouseDown event
if (sender.MouseDownPosition.IsEmpty() == false)
{
Cells.ICellVirtual l_MouseDownCell = sender.GetCell(sender.MouseDownPosition);
if (l_MouseDownCell!=null)
{
sender.Controller.OnMouseMove(new CellContext(sender, sender.MouseDownPosition, l_MouseDownCell), e);
}
}
else //se non ho nessuna cella attualmente che ha ricevuto un mousedown, l'evento di MouseMove viene segnalato sulla cella correntemente sotto il Mouse
{
// se non c'è nessuna cella MouseDown cambio la cella corrente sotto il Mouse
#if !MINI
sender.ChangeMouseCell(l_PointPosition);//in ogni caso cambio la cella corrente
#endif
if (l_PointPosition.IsEmpty() == false && l_CellPosition != null)
{
// I call MouseMove on the current cell only if there aren't any cells under the mouse
sender.Controller.OnMouseMove(new CellContext(sender, l_PointPosition, l_CellPosition), e);
}
}
}
示例7: grid_MouseUp
protected virtual void grid_MouseUp(GridVirtual sender, System.Windows.Forms.MouseEventArgs e)
{
if (sender.MouseDownPosition.IsEmpty() == false)
{
Cells.ICellVirtual l_MouseDownCell = sender.GetCell(sender.MouseDownPosition);
if (l_MouseDownCell!=null)
sender.Controller.OnMouseUp(new CellContext(sender, sender.MouseDownPosition, l_MouseDownCell), e );
sender.ChangeMouseDownCell(Position.Empty, sender.PositionAtPoint(new Point(e.X, e.Y)));
}
}
示例8: grid_KeyPress
private void grid_KeyPress(GridVirtual sender, System.Windows.Forms.KeyPressEventArgs e)
{
//solo se diverso da tab e da a capo ( e non è un comando di copia/incolla)
if (sender.Selection.ActivePosition.IsEmpty() || e.KeyChar == '\t' || e.KeyChar == 13 ||
e.KeyChar == 3 || e.KeyChar == 22 || e.KeyChar == 24)
{
}
else
{
Cells.ICellVirtual l_FocusCell = sender.GetCell(sender.Selection.ActivePosition);
if (l_FocusCell != null)
sender.Controller.OnKeyPress( new CellContext(sender, sender.Selection.ActivePosition, l_FocusCell), e );
}
}
示例9: grid_KeyUp
protected virtual void grid_KeyUp(GridVirtual sender, System.Windows.Forms.KeyEventArgs e)
{
if (sender.Selection.ActivePosition.IsEmpty() == false)
{
Cells.ICellVirtual l_FocusCell = sender.GetCell(sender.Selection.ActivePosition);
if (l_FocusCell!=null)
sender.Controller.OnKeyUp(new CellContext(sender, sender.Selection.ActivePosition, l_FocusCell), e );
}
}
示例10: grid_DoubleClick
protected virtual void grid_DoubleClick(GridVirtual sender, EventArgs e)
{
if (sender.MouseDownPosition.IsEmpty() == false)
{
Cells.ICellVirtual l_MouseDownCell = sender.GetCell(sender.MouseDownPosition);
if (l_MouseDownCell!=null)
{
sender.Controller.OnDoubleClick(new CellContext(sender, sender.MouseDownPosition, l_MouseDownCell), EventArgs.Empty);
}
}
}
示例11: grid_Click
protected virtual void grid_Click(GridVirtual sender, EventArgs e)
{
Position clickPosition = sender.PositionAtPoint(sender.PointToClient(Control.MousePosition));
Position clickStartPosition = sender.PositionToStartPosition(clickPosition);
//Se ho precedentemente scatenato un MouseDown su una cella
// e se questa corrisponde alla cella sotto il puntatore del mouse (non posso usare MouseCellPosition perchè questa viene aggiornata solo quando non si ha una cella come MouseDownPosition
if (sender.MouseDownPosition.IsEmpty() == false &&
sender.MouseDownPosition == clickStartPosition /* MouseCellPosition &&
m_MouseDownCell.Focused == true //tolto altrimenti non funzionava per le celle Selectable==false*/)
{
Cells.ICellVirtual mouseDownCell = sender.GetCell(sender.MouseDownPosition);
if (mouseDownCell != null)
{
sender.Controller.OnClick(new CellContext(sender, sender.MouseDownPosition, mouseDownCell), EventArgs.Empty);
}
}
}
示例12: grid_GiveFeedback
protected virtual void grid_GiveFeedback(GridVirtual sender, System.Windows.Forms.GiveFeedbackEventArgs e)
{
Position dragPosition = sender.DragCellPosition;
Cells.ICellVirtual cellPosition = sender.GetCell(dragPosition);
sender.Controller.OnGiveFeedback(new CellContext(sender, dragPosition, cellPosition), e);
}
示例13: grid_DragOver
protected virtual void grid_DragOver(GridVirtual sender, System.Windows.Forms.DragEventArgs e)
{
Position pointPosition = sender.PositionAtPoint(sender.PointToClient( new Point(e.X, e.Y) ));
Cells.ICellVirtual cellPosition = sender.GetCell(pointPosition);
CellContext cellContext = new CellContext(sender, pointPosition, cellPosition);
sender.ChangeDragCell(cellContext, e);
sender.Controller.OnDragOver(cellContext, e);
}