I've got a grid with column of checkboxes not bound to anything. When a range of checkboxes needs to be clicked, instead of having to click them one by one, I'd like to provide Windows like behavior with a Shift-Click like ability. Like use of Up,Down,Ctrl,Home,End would be nice too but just Shift-Click would be better than nothing. I haven't found some inherent setting to make any of this happen.
I haven't even been able to check whether or not Shift or ShiftKey is pressed from CellChange yet whereas it'd be easy from KeyDown or KeyUp which aren't used here.
Okay, I'll try that. Thank you.
How do I set the cell value of the checkbox? Would it be something like "cell.Value = ?"
To check ALL the rows in the band, you would have to loop. The fact that it's a child band does matter, because you will have to loop through multiple rows collections. You could do this recursively, but there is an easier way using the grid.Rows.GetRowsEnumerator method. This method will allow you to loop through all the rows in a specific band.
As you loop, you just set the Value on the checkbox cell.
I don't mean to hijack the thread, but I have a similar question, so hopefully it's not too far off the OP's topic...
In my case, I do want to select ALL of the checkboxes in an unbound column that contains a checkbox style.
I have a button "Select All" on my form, that when clicked, I would like to mark all the checkboxes as 'checked'. The column containing the checkboxes is in band(2) if that matters.
Thanks!
Well, typically, a Windows application would not behave as you describe. In any application I know of, selecting the 6th cell, holding down shift, and then clicking the 23rd cell would select the cells. By select, I mean the cells would be highlighted. This would not generally affect the Checked state of the cell.
Although, now that I think about it, I guess some of the reference selection lists in Visual Studio do this when you select rows. I'm not really sure off the top of my head exactly what the behavior should be here, I'd have to do some reseach and maybe use the References list in VS as a reference.
You could set up the grid to allow selecting rows or cells using the SelectTypeRow and SelectTypeCell properties. Then handle the SelectionChanged event of the grid and use that to change the values of the selected rows/cells. You will probably also need to handle KeyUp so that the checkbox are toggled when user presses the space bar and some rows/cells are selected.
Thanks for the reply.
So I've got a column of unchecked checkboxes in a grid of data. Let's say the user wanted to check the 6th through the 23rd boxes. What's the best way to provide a Windows like ability to click the 6th box, then hold down a Shift key, and click the 23rd box, checking all boxes in that range?
I'll give key state methods research. I've definitely searched the web but might post to MSDN like you said.