fiogf49gjkf0d The problem is indeed that SalesLogix is trying not to load the whole Recordset, think about the different properties on a Recordset (local vs server side, etc)
The way to force it to load the whole Recordset is to set the Sortable property of the Grid to true, that forces SalesLogix to have to preload the whole grid.
The description for the Grid Sortable Property reads as follows:
Determine whether the grid's sorting and grouping capabilities are enabled. If set to true, the whole dataset will be loaded to memory.
That said, if you are getting the Error you agre getting is because your Dataset is probably quite large and consumes a lot of memory.
Maybe you can provide your own "Select All" option on the right click menu (or a button), and then you can track the Selection status on your own (mostly to catch the SelectAll). If the user clicks on a node, and had previous selected all, then you set your own variable as not selected all.
Also, maybe you need to reconsider what is being done on the CustomDrawCell event (is it a calculation item, or a drawing item)?
Maybe you can have a hidding grid used for row selection (with the sortable property turned on, and somehow flip the grids as needed (something like having the user have to click on a button prior to make a selection, which would allow you to flip the grids), once they have acted on that selection, flip them back)
Again, it seems like you know the answer to your main question: how to load the whole Recordset locally (set Sort = true), but that doesn't work well with your CustomDrawCell code.
Another alternative may be to visit that code and try to reduce what is being done there to see if that helps out.
|