User Profile & Activity

Jarvan Jiang Member

Ok Bernard,i will use settimeout to resolve this problem.I thought the property 'IsInProgress' will be useful but it always same value.

It suddenly occurred to me shortly before i doing something with webGrid and it has the same problem that i did not know when to set value to webGrid in Client-Side,and i resolved the problem by using settimeout too.

Is the any possible to add some property or event to check WebControls are already loaded and ready to set value in the later version or some patch?I just feel it very strange that this product can't  finish such a simple request accurately.

Hi Bernard,

I've seen your sample,i'm afraid it will not work in my case.I have tried the event 'OnAfterItemSelected',i still can't set a default value to a bound webcombo without settimeout.

I will describe my problem simply,now i have to set value to a bound webcombo in clientside,and i can't use 'SetText' method because i only had the value i need to be set and i don't know the text.

So i just want to know,is there any way to confirm one webcombo is already loaded to be set value in clientside or some clientside events which can be triggered after one webcombo is already loaded and in the event i can success set a default value to the combo.


Hi Bernard,

Thank for your reply first.The timeout i said comes from this issue.

In my case,i can confirm the value of WebCombo1 has been set.Here is my temporary solution:

ISGetObject("data_node").SetSelectedRowByValue(ctrl.datasource.db);
                if (ctrl.datasource.src != "") {
                    ISGetObject("data_table").LoadValue();
                    ISGetObject("data_table").ShowDropDown();
                    setTimeout(function () {
                        ISGetObject("data_table").SetSelectedRowByValue(ctrl.datasource.src);
                        if (ctrl.datasource.col != "") {
                            ISGetObject("data_col").LoadValue();
                            ISGetObject("data_col").ShowDropDown();
                            setTimeout(function () {
                                ISGetObject("data_col").SetSelectedRowByValue(ctrl.datasource.col);
                            }, 650);//temporary solution
                        }
                    }, 650);
                }

 In this case,"data_node" just as  "webcombo1" i said before,"data_table" as "webcombo2" and "data_col" as "webcombo3"."data_node"Combo uses unbound mode,"data_table" linked to "data_node" and "data_col" linked to "data_table".I can confirm the value of webcombo1 has been success set because it's unbound mode.

As you see,i use 2 timeout to delay to set value of "data_table" and "data_col",now it works well but i have to wait for 1.3s ,in fact,if the delay has been set less than 600 which is 0.6s,the error will show to ask me to select "data_table" first.

Please tell me if i did something wrong.

 

Posted: January 12, 2012 10:43 PM

Thanks for your replay,i will figure out another solution.

I had an other problem on programmatic create webgrid.I put one simple webgrid in my page and i try to modify the caption of each column in the event "InitializeColumn",and it works.

However,when i wanted to get the captions in client side,i got the captions were unmodified.In client side i use "OnAfterInitialize" event try to get the captions.

I want to know how this happened and how to get the modified captions?

Hope for you replay.

All times are GMT -5. The time now is 2:30 AM.
Previous Next