I have a webdatagrid two template fields... textboxes.. when the user enters a value in the first one and then goes to the second one, I need to make sure the second value is not greater then the first value...
Can someone help with some client side script to do this?
If you continue to experience any issues please do not hesitate to contact me.
Sorry haven't gotten back to you.
Looking at your javascript code..
What field are you referring to in this line.
getElementsByTagName("input")[0].value
using your updates sample i still get the following error..
Microsoft JScript runtime error: Unable to get value of the property 'get_row': object is null or undefined
<script type="text/javascript" id="igClientScript"> function textboxTextChanged(sender, eventArgs) { if (parseInt(sender.parentNode._object.get_row().get_cellByColumnKey("TemplateField_0").get_element().getElementsByTagName("input")[0].value) < parseInt(sender.value)) { sender.value = ""; } }
Could this be an issue because I have a master child page setup?
<ig:WebDataGrid ID="WebDataGrid1" runat="server" Height="350px" Width="737px"> <Columns> <ig:TemplateDataField Key="TemplateField_0"> <ItemTemplate> <asp:TextBox ID="TextBox1" runat="server" Width="50px"></asp:TextBox> </ItemTemplate> <Header Text="FirstTextBoxTemplateField"></Header> </ig:TemplateDataField> <ig:TemplateDataField Key="TemplateField_1"> <ItemTemplate> <asp:TextBox ID="TextBox2" runat="server" onchange="textboxTextChanged(this, event)"> </asp:TextBox> </ItemTemplate> <Header Text="SeccondTextBoxTemplateField"></Header> </ig:TemplateDataField> </Columns> <Behaviors> <ig:Selection> </ig:Selection> </Behaviors> </ig:WebDataGrid>
Also, I have all the requisite files and such already... ig_res, etc.. and the code behind works fine.
Hello Daryl,
I have created a new sample including Master Page. I have tested it with Firefox, Chrome, IE10, IE9, IE8, IE7 and seems to work fine.
Could you test the sample and see if it works on your configuration. What is the browser that you are using? Could you test the sample with different browsers? I suggest that you start from a working sample and build on, so it is clear where it crashes.
If you have any questions or concerns with this, please let me know and I'll be glad to help.
You know, it might be the difference in the version of the control, between 13.1 and 12.2, but the line you suggested, blew up every time.
However the line below works fine...
if (sender.parentNode.parentElement._object.get_cellByColumnKey("TemplateField_0").get_element().getElementsByTagName("input")[0].value < sender.value) {
Did you actually run your sample and put entry in the textboxes?
Hello,
I am glad that this function is working for you. Please take in consideration that if the templated Item is modified and other elements are added, the function should be modified in order to select the actual element that the TextBox is rendered as.
You could even consider using a simplified approach as:
function textboxTextChanged(sender, eventArgs) {
if (parseInt(sender.parentNode.parentNode.firstChild.children[0].value) < parseInt(sender.value)) { sender.value = ""; } }
Some checks in the function for the first TextBoxValue are also in order, depending on your application specifications, like:firstTextBoxValue = parseInt(sender.parentNode._object.get_row().get_cellByColumnKey("TemplateField_0").get_element().getElementsByTagName("input")[0].value); if ((firstTextBoxValue == (undefined)) || isNaN(firstTextBoxValue) || (firstTextBoxValue < parseInt(sender.value))) { sender.value = ""; } }
I am really glad that you manage to resolve this issue. Please do not hesitate to contact us if you are still experiencing any issues with this matter.
Thank you for your response and for posting in our forum.
I have resolved the issue thanks.
I am checking about the progress of this issue. Please let me know if you need any further assistance on this.