Hi,
I downloaded trial version of Webdropdown version:11.2.20112.1019 and started using that in my application to see whether it functions properly. If it works well, I can go ahead to buy paid license for this control.
It has been around 45 days I downloaded the control and now I am able to see one issue suddenly.
When I use $find("webdropdowninstance"), it retrieves NULL.
Is it because the trial version might have expired or there is some other issue. Please let me know.
Hi, Sunil Mehta.
You can check this forum post, I think it will help you. If you have some other questions don't hesitate to ask them.
Best regards,
Nikolay
Hi Nikolay,
I have tried using ClientIDMode="Static" like this:
<ig:WebDropDown ID="dropdown" runat="server" ClientIDMode="Static">
</ig:WebDropDown>
After this, I tried using $find("dropdown") and also #find("<%=this.dropdown.clientID%>") but both are returing NULL value and not the object. What may be the issue?
Note: I am using ClientIDMode as "AutoID" in web.config file and I am not looking for a solution to make ClientIDMode changes in web.config.
I tested this and think your problem is because you are trying to access the control, at such state of the page live cycle, when the drop down is not created yet.
As far as you have ClientIDMode set to "AutoID" in the web.config, this means you cannot use "Static" value in your page. This also means that you will need again to access the element using server tags and using client id of the control. In JavaScript you need the following code:
<script type="text/javascript">
$(window).load(function(){
var dd = $find("<%=this.dropdown.ClientID %>");
});
</script>
As you see I'm trying to find the drop down, at stage that I know the control is already in the DOM. I'm using jQuery wrapper for the "window" object and attach to the "load" event - I hope this is not a problem for you. This problem may occur only when the page is loading, while if you attach to some of the WebDropDown client-side events the control will be already in the DOM.
One other note is that, ASP.NET client-side part of the control are added to the DOM, after the DOM itself is loaded. If I can use the jQuery term, this is after the following event is fired:
$(document).ready( );
That's why the best time to try to find ASP.NET control is after the browser window object is loaded.
So I hope this will help you to resolve your issue, if not this maybe means there is some problem with the version of the controls that you are using and we this will need further investigation.
I definitely feel that there is some problem with the version of webdropdown control that I am using. When I last downloaded the control and used in my application, $find was working fine. From last 15-20 days, $find is not working and I did not change anything in the code. My first thinking was that may be the trial version has expired now and that's why there may be some settings in the control which are not allowing it to be used now.
Please advice.
Also, Nikolay, Is it possible to access your controls using Document.GetElementbyID??
About the first issue it's seems that there is no problem with build number: 11.2.20112.1019. I tested WebDropDown on my machine with this build and $find() method was returning the drop down object. I've also tested it with builds higher than 1019 and it is working also. So if you want me to help you with this issue I suggest you to give me your not working code, if it is possible, and I will try to see what's the problem. Sorry for this but this is what can I do for you for the moment.
As far as you are asking about the getElementById() method, this post will describe you the difference. The methods $find() and $get() are Microsoft AJAX library specific methods. Our framework uses this AJAX library for creating controls, respectively it uses those two methods. From the given article it's said that $get() is equivalent of the document.getElementById() method. At the same time $find() is the same as Sys.Application.findComponent() method, which returns a specific Component object, that is not just the row DOM object, that $get() returns, but is kind of wrapper that adds additional API - methods, properties, events. Our controls, including WebDropDown, inherit this Component class, which means that $find() can be used for our controls. This means that if you try to call getElementById(), or simply $get(), on WebDropDown control, this will return you the row DOM object, and for sure this row object will not have the specific client-side methods and properties of the WebDropDown. The conclusion is that you need to use $find() in order to get WebDropDown on the client and the following code is working on my machine:
var dd1 = $find("<%=this.wddTest.ClientID %>");
See that I'm using jQuery window load event handler, to ensure that control is loaded. If you are not using jQuery in your project, you can execute the same code in the client-side handler of the WebDropDown Initialize event.
I hope this will help you, Sunil.
Best regards, Nikolay
If it's not a problem for you, please create different forum thread for this issue. It's because the last problem is different from the title and idea of the current forum thread and it such cases is better to separate them.
Thank you
Is there a way to set the current display text and value of a webdropdown in the server-side(code behind vb file)?
Thanks,
Sunil Mehta.
Hello Sunil,
With your trial account you can create cases in our system as well.
You need to log in to your account on our web.
After that go to “Help” section in the sub menu find “Submit Support Request”. Now you are ready to select the technology, platform, etc.
According to the last your question. About the licensing you will need to contact our sales team it will not take a long time. Call them or email them. This page is for reference to their contact details:
https://ko.infragistics.com/about-us/contact-us/
If you need additional assistance, do not hesitate to contact me.
Sincerely,
Georgi Sashev
Developer Support Engineer
Infragistics, Inc.
http://ko.infragistics.com/support
Nikolay, Please do the needful for #1, #2 and #5.
For purchasing you need again Sales team.
About #1, #2 and #5 you need to create a case in the Developer Support. If you don't know how I will tell a colleague from DS team to help you.
About #4, try this:
.igdd_IGListItemHover a { color: green!important; }