In the grid I have an event wired up to the editcellstarting event. Sometimes I cancel this event to prevent the editors from showing. But when a user is tabbing, it cancels the tab event so the grid doesn't naturally flow to the next record. How can I get around this?
LegendX = Show EditorsY = Prevent Editors
Row 1: X | X | X | X | XRow 2: X | X | Y | X | XRow 3: X | X | Y | Y | X
First row tabs perfectly!Second row tabs stop after the second column. User has to manually click on column 4 to start again.Third row tabs stop after the second column. User has to manually click on the column 5 to start again.
The tab should naturally shift to the next available column. After looking at the source, I saw that the code returns with a "Cancelled" response and the invoker does nothing with it except returns. I don't want to cancel it, I want to skip it. How can I achieve this?
Hello Karthik,
What I can suggest you based on your current scenario is after canceling the editCellStarting event to find the next cell which you want to be editable and to call startEdit API method for this cell. If you have any questions, please let me know.
Regards,
Tsanna
Dirty. We would need to maintain a list of currently visible columns and their indexes. The tricky part is to invoke "tab" on the next row if the rest of columns are non-editable. There aren't any internal api calls that will do this for us? :)
I'll find it! Yes I know we can't rely on it across updates and service updates.
We solved this issue until the new feature requests becomes available.
// The important thing to remember is NOT TO RETURN FALSE. You // must let the execution continue to "STARTED" event. $(.selector).on("iggridupdatingeditcellstarting", function (e, ui) { var canEdit = true; // Your condition goes here if (canEdit) { return true; } var event = { e: e, ui: ui }; $(.selector).one("iggridupdatingeditcellstarted", $.proxy(function (e, ui) { if (this.ui !== ui) { return; // Not the same event - some other subscriber cancelled the "STARTING" event. } var editor = $(ui.editor).data("igEditor"); editor.options.keydown({ // 9 === TAB KEY which: 9, key: 9, keyCode: 9, target: ui.editor, shiftKey: false // You'll need logic to capture this to natively traverse between fields }); }, event)); // Proxy this event with the original event });
Not sure how we are going to cover this requirement yet. I'll need to play around with it. I'll have more details the moment we have something. Until then, I guess I'll need to create a feature request.
I've added a new feature:
http://ideas.infragistics.com/forums/211535-ignite-ui/suggestions/8962882-tab-to-next-available-row-when-celleditstarting-ev
Hi,
If I can provide you with any further assistance, please let me know.
I agree on that :-)
Hi Karthik,
After investigating your requirement further and doing some research, it has been determined to be a new product idea. You can suggest new product ideas for future versions (or vote for existing ones) at http://ideas.infragistics.com.
Steps to create your idea:
1. Log into the Infragistics Product Idea site at http://ideas.infragistics.com (creating a new login if needed).
2. Navigate to the product / platform channel of your choice (e.g. WPF, Windows Forms, ASP.NET, HTML5 / Ignite UI, iOS / NucliOS, etc.)
3. Add your product idea and be sure to be specific and provide as much detail as possible.
•Explain the context in which a feature would be used, why it is needed, why it can’t be accomplished today, and who would benefit from it. You can even add screenshots to build a stronger case. Remember that for your suggestion to be successful, you need other members of the community to vote for it. Be convincing!
•[CASE: “Reference case [case number], FORUMS: “Include a link to this thread”] in your idea so product management will be able to look back at this case.
The Product Idea site puts you in the driver’s seat and allows you to track the progress of your ideas at any time, see how many votes it got, read comments from other developers in the community, and see if someone from the product team has additional questions for you.
If I can provide you with further assistance regarding this matter, please let me know.