I would like to send from the server what checkboxes should appear checked when initializing the grid?
I've seen the there are Selection methods to set the selected rows, but I've not found any method for the RowSelector checkboxes.
How can I do it?
Thanks
Any answer on this? Is it possible to set the checked boxes in the RowSelector from the javascript code?
I really need to know this so that we can decide if igGrid is the right component for our web project.
Hello Idwedari,
You are correct, there is no public API for achieving this. There are a few ways to simulate checking the checkboxes on the client which you can use as a workaround:
Selecting the specific checkbox and triggering a click event on it using jQuery. For example:
$("#grid1 span.ui-igcheckbox-normal:eq(" + checkboxIndex + ")>span").trigger("click");
The other way is to use a private function that requires the checkbox object itself.
var checkbox = $("#grid1 span.ui-igcheckbox-normal:eq(" + checkboxIndex + ")");
$("#grid1").data("igGridRowSelectors")._handleCheck(checkbox);
With the 2012 Volume 1 release which is coming soon, you will no longer need this additional code because the RowSelectors checkboxes will get checked by simply calling the selectRow method from the Selection feature. This change in the behavior was implemented mainly due to use cases similar to yours.
Thank you for using the Infragistics forums and hope this will help you resolve your issue!
Best regards,
Stamen Stoychev
We have 2012 V1 and the following doesn't seem to work unless I'm doing something wrong:
After a row is edited, I'm trying to retain selection - which is done via a checkbox selector - I'm doing this by handling the iggridupdatingeditrowended function but it doesn't appear to work...?
$(document).delegate("#Grid", "iggridupdatingeditrowended", function(evt, ui) { var rowIndex = $("#Grid > tbody > tr").index($("[data-id='" + ui.rowID + "']")); $("#Grid").igGridSelection("selectRow", rowIndex); });
Hi Qnal,
You are doing it correctly, however there is an issue that prevents checkboxes from being checked when a row is being selected through the selectRow method of the Selection feature. We should have it resolved in the future builds.
You can work around it by doing the selection the other way around - invoking click on the checkbox which will in turn select the row as well. In your example it would equal replacing the
$("#Grid").igGridSelection("selectRow", rowIndex);
with
$("#Grid tbody th>span[data-role='checkbox']:eq(" + rowIndex + ")").trigger("click");
Hope this helps!
Hi, I tried this, but it still doesn't select. Is there some other property I need to set?
Here are my Selection settings:
features.RowSelectors().EnableRowNumbering(false).EnableCheckBoxes(true); features.Selection() .Mode(SelectionMode.Row) .MultipleSelection(true);
Here are my Edit Settings:
features.Updating() .EnableAddRow(false) .EnableDeleteRow(false) .EditMode(GridEditMode.Row) .StartEditTriggers(GridStartEditTriggers.Click)
Here is my event handler:
$(document).live("#Grid", "iggridupdatingeditrowended", function(evt, ui) { var rowIndex = $('#Grid > tbody > tr').index($("[data-id='" + ui.rowID + "']")); $('#Grid').igGridSelection('selectRow', rowIndex); $("#Grid tbody th>span[data-role='checkbox']:eq(" + rowIndex + ")").trigger("click"); });
After a row is edited, and I click "Done", it doesn't keep the selection
Hi again,
Sorry I think I misunderstood you. If you wish to retain the selection when a row goes into edit mode and you do the selection only through the checkboxes, you can try the following:
$("#Grid").live("iggridselectionrowselectionchanging", function () { return false; });
instead of your current event handler. However in this case you will no longer be able to select rows by clicking on them, this will only activate them. Rows will only be selectable through the checkboxes. If this is unacceptable, please let me know and I'll try to provide you with a better solution!
Yes basically my situation is this:
- I have row selectors with checkboxes, although that is not the only trigger for edit.
- I really have one cell that is editable, if you double click on that cell ("AmountToPay") - the grid will enter edit mode
- I also have custom summaries on the page which I was able to do, in addition to the built-in "SUM" functions of "TotalDue" and "AmountToPay", I have a custom summary that shows "SelectedAmountToPay".
My user experience requirement is this:
- When a user edits an item, after they finish editing, the row they edited should remain selected because that custom summary will reflect how much they have have decided to pay.
I am pretty much close to all my requirements but I cannot get the row to select again so the custom summary can fire after edit is complete.