In this case you should provide addtional code in the FlyGrid.VirtualMode_InitNewNode event handler and init node:
[c#]
private ArrayList checkedIndexes = new ArrayList();
//Init FlyGrid
private void InitGrid(FlyGrid flyGrid)
{
checkedIndexes.Clear();//clear list of checked nodes
flyGrid.VirtualMode_InitNewNode += new InitNewNodeHandler(flyGrid_VirtualMode_InitNewNode);
flyGrid.NodeCheckedChange += new NodeHandler(flyGrid_NodeCheckedChange);
//......contiinue initialization
}
private NodeBase flyGrid_VirtualMode_InitNewNode(object sender, NodeBase parent, int index)
{
//create TreeViewNode that supports checkboxes
NodeBase newNode = new TreeViewNode(parent);
newNode.Checked = IsChecked(index);
}
private bool IsChecked(int index)
{
//here you should answer on question - checked node at index or not.
return checkedIndexes.Contains(index);
}
//monitor Checked state changes
private void flyGrid_NodeCheckedChange(object sender, NodeBase node)
{
if (node.Checked)
checkedIndexes.Add(node.Index);
else
checkedIndexes.Remove(node.Index);
}