Home - Forums-.NET - FlyGrid.Net (Windows Forms) - Virtual mode

FlyGrid.Net (Windows Forms)

.NET Datagrid - Fast, highly customizable, industry standards .NET data grid control for WinForms

This forum related to following products: FlyGrid.Net

Virtual mode
Link Posted: 13-Dec-2005 05:15
i have made a application according to your sample program, and for some reason, the getcellvalue event won't fire...

y?

thsnks,
guy
Link Posted: 13-Dec-2005 19:27
Did you set FlyGrid.Rows.VirtualMode to true?
Please show your FlyGrid initialization code and code of event handlers, to solve this problem.
Link Posted: 13-Dec-2005 20:54
here is the code, if you want something else, please tell me.

if (ctlTreeViewGrid.Rows.VirtualMode == false)
            {
                ctlTreeViewGrid.VirtualMode_GetCount += new GetCountHandler(ctlTreeViewGrid_VirtualMode_GetCount);
                ctlTreeViewGrid.VirtualMode_GetNodeCellValue += new GetCellValueHandler(ctlTreeViewGrid_VirtualMode_GetNodeCellValue);
                ctlTreeViewGrid.VirtualMode_SetNodeCellValue += new SetCellValueHandler(ctlTreeViewGrid_VirtualMode_SetNodeCellValue);
                ctlTreeViewGrid.VirtualMode_InitNewNode += new InitNewNodeHandler(ctlTreeViewGrid_VirtualMode_InitNewNode);
                ctlTreeViewGrid.VirtualMode_HasChildren += new GetContainsHandler(ctlTreeViewGrid_VirtualMode_HasChildren);
                ctlTreeViewGrid.Rows.VirtualMode = true;
            }

private int ctlTreeViewGrid_VirtualMode_GetCount(NodeBase sender)
        {
            NodeBase node = sender as NodeBase;
            if (node.Depth == -1) //root node
            {
                //find rows with Parent == 0//root rows
                DataRowView[] rows = GetRows(-1);
                return rows.Length;
            }
            else
            {
                int id = GetNodeId(sender);
                DataRowView[] childRows = GetRows(id);
                return childRows.Length;
            }
        }
private object ctlTreeViewGrid_VirtualMode_GetNodeCellValue(object sender, NodeBase node, int index)
        {
            NodeBase parent = node.Parent;
            DataRowView dataRow = GetNodeRow(node);
            if (dataRow != null)
            {
Link Posted: 13-Dec-2005 21:47
Please use
ctlTreeViewGrid.VirtualMode_GetCount += new GetCountHandler(ctlTreeViewGrid_VirtualMode_GetCount);
ctlTreeViewGrid.VirtualMode_GetNodeCellValue += new GetCellValueHandler(ctlTreeViewGrid_VirtualMode_GetNodeCellValue);
ctlTreeViewGrid.VirtualMode_SetNodeCellValue += new SetCellValueHandler(ctlTreeViewGrid_VirtualMode_SetNodeCellValue);
ctlTreeViewGrid.VirtualMode_InitNewNode += new InitNewNodeHandler(ctlTreeViewGrid_VirtualMode_InitNewNode);
ctlTreeViewGrid.VirtualMode_HasChildren += new GetContainsHandler(ctlTreeViewGrid_VirtualMode_HasChildren);
ctlTreeViewGrid.Rows.VirtualMode = true;

instead of
if (ctlTreeViewGrid.Rows.VirtualMode == false)
{
  ctlTreeViewGrid.VirtualMode_GetCount += new GetCountHandler(ctlTreeViewGrid_VirtualMode_GetCount);
  ctlTreeViewGrid.VirtualMode_GetNodeCellValue += new GetCellValueHandler(ctlTreeViewGrid_VirtualMode_GetNodeCellValue);
  ctlTreeViewGrid.VirtualMode_SetNodeCellValue += new SetCellValueHandler(ctlTreeViewGrid_VirtualMode_SetNodeCellValue);
  ctlTreeViewGrid.VirtualMode_InitNewNode += new InitNewNodeHandler(ctlTreeViewGrid_VirtualMode_InitNewNode);
  ctlTreeViewGrid.VirtualMode_HasChildren += new GetContainsHandler(ctlTreeViewGrid_VirtualMode_HasChildren);
  ctlTreeViewGrid.Rows.VirtualMode = true;
}