Ok I have figured it out. For anyone who may have a problem like me in
the future here is the code below:

Controller:

def department():
    #response.js = "web2py_component('department.load','department_form')"

    db.department.id.readable = False
    query = db(db.department.id > 0).select(db.department.name,
db.department.description)
    fields = (db.department.name, db.department.description)
    link =  [lambda row: A('Edit', _class='btw', _role='button',
_href=URL('administration','department.load#myModal'),**{'_data-toggle':'modal'})]
    headers = {'db.department.name': 'Department
Name','db.department.description': 'Description'}
    default_sort_order=[db.department.name]
    form = SQLFORM.grid(db.department, headers=headers,
orderby=default_sort_order ,links=link, create=True, deletable=True,
editable=True, maxtextlength=64, paginate=25)

    return dict(form=form)

View:

{{extend 'layout.html'}}
<div class="tabbable"> <!-- Only required for left/right tabs -->
  <ul class="nav nav-tabs">
    <li class="active"><a href="#tab1" data-toggle="tab">Section 1</a></li>
    <li><a href="#tab2" data-toggle="tab">Section 2</a></li>
    <li class="dropdown">
        <a class="dropdown-toggle"
           data-toggle="dropdown"
           href="#">
            Meta Data
        </a>
        <ul class="dropdown-menu">
                <li><a href="#tab3" id="department" tabindex="-1"
data-toggle="tab">Manage Departments</a></li>
                <li><a href="#tab3" id="office" tabindex="-1"
data-toggle="tab">Manage Office Titles</a></li>
            <li class="divider"></li>
            <li><a href="#tab3" tabindex="-1" data-toggle="tab">Manage
List</a></li>
        </ul>
        </li>
  </ul>
  <div class="tab-content">
    <div class="tab-pane active" id="tab1">
      <p>I'm in Section 1.</p>
    </div>
    <div class="tab-pane" id="tab2">
      <p>Howdy, I'm in Section 2.</p>
    </div>
    <div class="tab-pane" id="tab3">
        <div id="dept_form">
                
{{=LOAD('administration','department.load',ajax=True,target='department_form')}}
        </div>
    </div>
  </div>
</div>
<div id="refreshed"></div>
<script>
    jQuery('#dept_form').hide();
    jQuery('#department').click(function(){
        web2py_component('{{=URL('administration','department.load')}}',
'department_form');
                jQuery('#dept_form').show('fade');
        });
</script>

The key is this:

The web2py_component reloads the web component ...so before you
display the component reload it...like in my js above i have called it
before displaying my component...and it works...flawless!!

Cool!

On 11/12/12, Teddy Nyambe <[email protected]> wrote:
> Hi I have noticed the mistake I was making but noticed something weird.
>
> I have added the line:
>
> response.js = "web2py_component('department.load','department_form')"
>
> in the controller the LOAD is calling: and it works. But I have
> noticed that the page is just loading items and not finishing...what
> is it loading?
>
> On 11/12/12, Teddy Nyambe <[email protected]> wrote:
>> Hi I have noticed the mistake I was making but noticed something weird.
>>
>> I have added the line:
>>
>> response.js = "web2py_component('department.load','department_form')"
>>
>> in the controller the LOAD is calling: and it works. But I have
>> noticed that the page is just loading items and not finishing...what
>> is it loading?
>>
>> On 11/12/12, Teddy Nyambe <[email protected]> wrote:
>>> Hi,
>>>
>>> Massimo had given a solution on how to reload a component but its not
>>> working. This is his solution:
>>>
>>> Give a name to your components
>>>
>>> {{=LOAD(...,target='one')}}
>>> {{=LOAD(...,target='two')}}
>>> {{=LOAD(...,target='three')}}
>>>
>>> now any action can trigger a component reload
>>>
>>> response.js="web2py_component('action','target')"
>>>
>>> where action is the URL of the component and 'target' is 'one', 'two',
>>> 'three'', etc.
>>>
>>> For me I have the following code which is failing to reload:
>>>
>>> Controller:
>>>
>>> def index():
>>>     response.subtitle = "Human Resource and Administration"
>>>     return dict()
>>> def department():
>>>     db.department.id.readable = False
>>>     query = db(db.department.id > 0).select(db.department.name,
>>> db.department.description)
>>>     fields = (db.department.name, db.department.description)
>>>     link =  [lambda row: A('Edit', _class='btw', _role='button',
>>> _href=URL('administration','department.load#myModal'),**{'_data-toggle':'modal'})]
>>>     headers = {'db.department.name': 'Department
>>> Name','db.department.description': 'Description'}
>>>     default_sort_order=[db.department.name]
>>>     form = SQLFORM.grid(db.department, headers=headers,
>>> orderby=default_sort_order ,links=link, create=True, deletable=True,
>>> editable=True, maxtextlength=64, paginate=25)
>>>     return dict(form=form)
>>> def refresh():
>>>     response.js =
>>> web2py_component('/intranet/administration/department.load','department_form')
>>>     return dict()
>>>
>>>
>>> View:
>>>
>>> <div class="tabbable"> <!-- Only required for left/right tabs -->
>>>   <ul class="nav nav-tabs">
>>>     <li class="active"><a href="#tab1" data-toggle="tab">Section
>>> 1</a></li>
>>>     <li><a href="#tab2" data-toggle="tab">Section 2</a></li>
>>>     <li class="dropdown">
>>>         <a class="dropdown-toggle"
>>>            data-toggle="dropdown"
>>>            href="#">
>>>             Meta Data
>>>         </a>
>>>             <ul class="dropdown-menu">
>>>                     <li><a href="#tab3" id="department" tabindex="-1"
>>> data-toggle="tab">Manage Departments</a></li>
>>>                     <li><a href="#tab3" id="office" tabindex="-1"
>>> data-toggle="tab">Manage Office Titles</a></li>
>>>             <li class="divider"></li>
>>>             <li><a href="#tab3" tabindex="-1" data-toggle="tab">Manage
>>> List</a></li>
>>>             </ul>
>>>     </li>
>>>   </ul>
>>>   <div class="tab-content">
>>>     <div class="tab-pane active" id="tab1">
>>>       <p>I'm in Section 1.</p>
>>>     </div>
>>>     <div class="tab-pane" id="tab2">
>>>       <p>Howdy, I'm in Section 2.</p>
>>>     </div>
>>>     <div class="tab-pane" id="tab3">
>>>         {{=LOAD('administration','department.load',ajax=True,
>>> target='department_form')}}
>>>     </div>
>>>   </div>
>>> </div>
>>> <div id="refreshed"></div>
>>> <script>
>>>     jQuery('#department_form').hide();
>>>     jQuery('#department').click(function(){
>>>         ajax('{{=URL('administration','refresh')}}', [], 'refreshed');
>>>             jQuery('#department_form').show('fade');
>>>     });
>>> </script>
>>>
>>>
>>> When I refresh using the browser thats when i am having a new records
>>> appearing on my grid
>>>
>>>
>>> --
>>> .......................................................................................
>>> Teddy Lubasi Nyambe
>>> Opensource Zambia
>>> Lusaka, ZAMBIA
>>>
>>> Cell: +260 97 7760473
>>> website: http://www.opensource.org.zm
>>>
>>> ~/
>>> Human Knowledge belongs to the world! - AntiTrust
>>>
>>> Man is a tool-using animal. Without tools he is nothing, with tools he
>>> is all - Thomas Carlyle 1795-1881
>>>
>>> /~
>>>
>>
>>
>> --
>> .......................................................................................
>> Teddy Lubasi Nyambe
>> Opensource Zambia
>> Lusaka, ZAMBIA
>>
>> Cell: +260 97 7760473
>> website: http://www.opensource.org.zm
>>
>> ~/
>> Human Knowledge belongs to the world! - AntiTrust
>>
>> Man is a tool-using animal. Without tools he is nothing, with tools he
>> is all - Thomas Carlyle 1795-1881
>>
>> /~
>>
>
>
> --
> .......................................................................................
> Teddy Lubasi Nyambe
> Opensource Zambia
> Lusaka, ZAMBIA
>
> Cell: +260 97 7760473
> website: http://www.opensource.org.zm
>
> ~/
> Human Knowledge belongs to the world! - AntiTrust
>
> Man is a tool-using animal. Without tools he is nothing, with tools he
> is all - Thomas Carlyle 1795-1881
>
> /~
>


-- 
.......................................................................................
Teddy Lubasi Nyambe
Opensource Zambia
Lusaka, ZAMBIA

Cell: +260 97 7760473
website: http://www.opensource.org.zm

~/
Human Knowledge belongs to the world! - AntiTrust

Man is a tool-using animal. Without tools he is nothing, with tools he
is all - Thomas Carlyle 1795-1881

/~

-- 



Reply via email to