I have an UltraWinGrid which has the column of checkBox type. I want the row is selected by only the checkBox clicked. Furthermore, user can select more than one row by clicking related checkboxes instead of drag selection.
But when I use SelectTypeRow= Single or SingleAutoDrag, I cannot select one than one row programmatically. If I use SelectTypeRow=Extended or SelectTypeRow=ExtendedAutoDrag, in this time I let the user can select more row using drag selection which is not desired.
Hi,
There's no way to tie selection to a checkbox like this. But you can simulate it and the user will never know the difference. :)
I threw together a quick sample project demonstrating how to do this. The sample maintained a List of the Checked Rows and also applies an appearance to each checked row just as if the row were selected - even though it's really not.
Thank you so much for your post, it's so useful. But, when I thought I was solving the problem, I faced with another problem about AppStylist isl file that I used to design the grids in the project. I think the isl file overrides some appearances used for changing the unchecked row appearences.
If I disable the UseAppStyling property, everthing ok. Otherwise, there is no problem on changing the checked row property. But If I uncheck a row, the appearance of the related row does not affect the changing until another row is clicked. Another row is clicked, the previous row appearance is ok. So interesting:(
P.S. In .isl, The grid "Resolution Order" is "ControlThenApplication"
It sounds like you isl file is defining an appearance on the UtraGridRow UI Role (or one of it's ancestors) - probably for the Active state. So you will need to remove that from the isl.
Of course, removing it from the isl will affect all UltraWinGrids in the application, so if that's not what you want, then another alternative would be to set:
private void ultraGrid1_InitializeLayout(object sender, Infragistics.Win.UltraWinGrid.InitializeLayoutEventArgs e) { UltraGridLayout layout = e.Layout; UltraGridOverride ov = layout.Override; ov.ActiveAppearancesEnabled = DefaultableBoolean.False; }
There is also a SelectedAppearancesEnabled property, but since you are selected SelectTypeRow to None, I don't think you need to set that one, too.
I have just tried to change ActiveAppearancesEnabled property and I am about to solve the problem.
I feel I think It starts to be boring for you but I need to ask a final question may be detailed or ridiculous:(
Is there a way to get out the dotted border of the active row?
Thank you...
No problem, I'm here to help.
HOWTO:How can I turn off the Focus Rectangle on an Infragistics Win Control?
Thank you for the information.
I said I asked one last question. But I need to ask a few questions about the same grid but the subject is different in this time.
I want to drag drop the selected rows to an explorerbar (Actually ultraexplorerbaritem). I used DoDragDrop method of the grid and DragDrop event of the explorerBar for this process. I must delete the selected rows after the drag drop operation successfully completes. But how can I realize that? The grid only knows that the operation starts by the DoDragDrop, but it do not know that the rows are dropped into explorerBar. Maybe I fire an event after the rows are dropped into the explorerBar. But I think there must be a way not use an event.
Another question is about the cursors. While the D&D operation is carrying on, I want to change cursor image and add text on it. I did the necessary updates, but unfortunately, on the grid area, cursor icon turn into the "STOP" icon and I can't change this sign whatever I did.