How do you get/set values from RowEditTemplate during onTemplateClosed client event using javascript? can someone share code with me? Thanks!
Hello davefevold,
Let us know if you need further assistance after the provided by David suggestion.
I've tried the following code to retieve values from a textbox on the RowEdit Template but it doesn't work...what am I doing wrong?
function onTemplateClosing(sender, e) { var grid = sender; var ret = grid.get_behaviors().get_editingCore().get_behaviors().get_rowEditingTemplate(); var oInstrumentNbr = ret.$get({"Instrument_No"}).value;}
Hi Dave,
That code is wrong. You would use $get on its own.
var oInstrumentNbr = $get("Instrument_No").value; But, the id has to be the whole client id, since asp.net will give it a name containing parent ids. Or if you are using CLR 4, you could try setting id to static. Another option is to search through the child nodes of the ret template div. This can be found off of the ret behavior as ret._templateDiv. Then start searching childNodes collection to find your editors. But these will be straight html elements. If you have any of our controls, you'd be better off trying to find them with $find(id). You just need the client id. Hope this helps you out.
-Dave
Can you give me a full javascript coding example for getting the value of a WebDatePicker from a RowEditTemplate during the TemplateClosing client event?
Hi,
Here is is.
function templateClosing(sender, args)
{
var ret = sender.get_behaviors().get_editingCore().get_behaviors().get_rowEditingTemplate();
var colKey = "BirthDate";
var binding = ret._bindings._getObjectByAdr(colKey);
var datePicker = $find(binding.get_clientID());
var dateVal = datePicker.get_value();
}
If I wanted to check and then set the date value would I then do the following?
if (dateVal == null) {
datePicker.set_value('12/31/9999')
I would think that would work, so long as the date picker will return you null for the date if it is not set.
Thanks!!! I appreciiate your help!
For future reference, a lot of these answers can be found in the documentation. This is something available off of the event args. args.get_saveChanges() It is true if it is going to save the changes to the row (ok was clicked) and false otherwise.
Thanks...
Another question...how can I tell if the 'Ok' or 'Cancel' button is clicked?
Off the event args of the event, there should be a cancel method.
args.set_cancel(true);
As for focusing. You already have the dom element or javascript object. If it is an html element, just elem.focus() should do it. If its an object, there is probably a focus() method of some sort that you can call. Or just find an element that's part of the object and focus that.
A couple more questions, how do you keep the RowEditTemplate from closing and assign focus to a field that's in error?
Thanks!