I have a WebDataGrid in 15.2 verison of Infragistics where the style of select row in grid used to be retained when user tabs (using the keyboard tab key) across the columns. With an upgrade to 16.2 version of the Infragistics control this behavior changed. In 16.2 when a user tabs across columns of the grid; selected cell style gets reset to default after KeyUp event. Whereas, other cells retains the selected row style. Thus, in a grid of 5 columns, in this scenario when the user tabs out of first cell 4 cells have the selected row style and 1 cell in the same row has a default cell style.
An accidental observation was if I set CellSelectType to None, the 15.2 behavior of tabbing is retained. On tabbing across cells of a selected row does not impact the style of the cell.
My question based on this observation is - What does CellSelectType attribute signify? How does it impact any API call to get selected row or its value?
Code - 15.2
<Behaviors>
<ig:Selection
RowSelectType="Single"
CellClickAction="Row"></ig:Selection>
Code - 16.2 (To get same behavior we need to do this)
CellClickAction="Row"
CellSelectType="None"></ig:Selection></Behaviors>
Hello Siva,
Thank you for your question.
As our documentation states, CellSelectType is used to define how many cell can be selected at any given time and this property relates only to the UI functionality, cells can still be selected via the api. As for your question how does it impact any API call to get selected row or its value, if you call get_selectedRows, then a collection of rows that are currently selected in the grid, will be returned, but in order to do this, you will need to set CellSelectType to Multiple.
Let me know if I can be of further assistance.
Thank you Zdravko, for the response.
I get confused when you say "this property relates only to the UI functionality, cells can still be selected via the api."
When you say it is an UI functionality, does it mean CellSelectType defines the way CSS classes (classes for selected cell) are assigned? i.e. if I set CellSelectType to None, even if I select a row, the cell will have a CSS class of unselected cell?
Another question based on your response to get selected row API call is - How are RowSelectType and CellSelectType different?
Hey Siva,
If CellSelectType is set to None, the same CSS classes will be applied, the difference will be in the interaction with the Grid selection. For example if you want to select more cells, then CellSelectType "Multiple" should be used. We have different properties for the two types of selection row and cell.
The difference between RowSelectType and CellSelectType is that it is handled in different way, for example when you define CellSelectType to be "Single", you will be able to select only one cell in the Grid, and respectively if you use the API on order to get or set its value, only that one cell object will be returned. If the type is set to "Multiple", then a collection of cell objects will be returned.
Both RowSelectType and CellSelectType are depending on the property CellClickAction, if it is set to "Row", then RowSelectType value will be used (single, multiple, none).
Our Grid designer provides very detailed explanations about each behavior/property so my suggestion is to have a look at them in order to gain better understanding for certain functionalities. For example have a look at the CellClickAction description below: