請問uliweb 支援easyui datagrid 的Frozen Columns 和Footer Rows 嗎?

63 views
Skip to first unread message

SeedSeek

unread,
Jan 10, 2012, 12:18:06 AM1/10/12
to Uliweb
如題

limodou

unread,
Jan 10, 2012, 12:25:55 AM1/10/12
to uli...@googlegroups.com
On Tue, Jan 10, 2012 at 1:18 PM, SeedSeek <frt5...@gmail.com> wrote:
> 如題
>

这个要自已参考plugs/ui/jquery/jqeasyui下的templates中的inc_table.html,自已去修改js代码。

--
I like python!
UliPad <<The Python Editor>>: http://code.google.com/p/ulipad/
UliWeb <<simple web framework>>: http://code.google.com/p/uliweb/
My Blog: http://hi.baidu.com/limodou

SeedSeek

unread,
Jan 10, 2012, 1:04:41 AM1/10/12
to Uliweb
這樣需要在module.py 中宣告什麼嗎?

如果要download 的話
footer 的資料不會進到檔案裡
這部份要如何修改?

On 1月10日, 下午1時25分, limodou <limo...@gmail.com> wrote:

limodou

unread,
Jan 10, 2012, 1:12:59 AM1/10/12
to uli...@googlegroups.com
2012/1/10 SeedSeek <frt5...@gmail.com>:

> 這樣需要在module.py 中宣告什麼嗎?
>
> 如果要download 的話
> footer 的資料不會進到檔案裡
> 這部份要如何修改?
>

这块功能目前不是generic.py的缺省支持。所以在models.py中不用声明什么。在ListView中只要返回对应的数据就可以了。如果要在models.py中就可以支持的话,有一些不通用。因为ListView并不是只针对于easyui来生成的,所以其它的展示形式不一定有固定列的功能。

不过这块可以先考虑一下如何支持,因为在models.py中増加一些额外的属性也不会有什么问题。然后就是模块中如何生成需要的js代码。

limodou

unread,
Jan 10, 2012, 1:28:55 AM1/10/12
to uli...@googlegroups.com
2012/1/10 limodou <lim...@gmail.com>:

> 2012/1/10 SeedSeek <frt5...@gmail.com>:
>> 這樣需要在module.py 中宣告什麼嗎?
>>
>> 如果要download 的話
>> footer 的資料不會進到檔案裡
>> 這部份要如何修改?
>>
>
> 这块功能目前不是generic.py的缺省支持。所以在models.py中不用声明什么。在ListView中只要返回对应的数据就可以了。如果要在models.py中就可以支持的话,有一些不通用。因为ListView并不是只针对于easyui来生成的,所以其它的展示形式不一定有固定列的功能。
>
> 不过这块可以先考虑一下如何支持,因为在models.py中増加一些额外的属性也不会有什么问题。然后就是模块中如何生成需要的js代码。
>

另外简单点的办法就是在调用create_table时,可以向options中传入针对固定列的配置项。但是同时要去掉已经在columns中的列,比如:

class Table :
fields = [
{'name':'fix_column1'},
{'name':'fix_column2'},
{'name':column3'},
{'name':'column4'},
]

在模板中调用create_table时如:

create_tabe(url, download=False,
{'frozenColumns':{{=json_dumps(table.get_columns()[:2])}},
'columns':{{=json_dumps(table.get_columns()[2:])}}})

通过手工传入参数来替換缺省的字段定义。这里是假定前两个是固定的,2个后面的不是固定的。不过这样的话,我倒是可以在Table定义中添加比如'frozen'的属性,然后在get_columns()添加一个参数,如frozen=True|False|None,缺省为None,True为只显示Frozen的字段,False为显示非Frozen的字段,然后改造一下inc_table.html。我先试一下吧

limodou

unread,
Jan 10, 2012, 1:52:00 AM1/10/12
to uli...@googlegroups.com
2012/1/10 limodou <lim...@gmail.com>:

> 2012/1/10 limodou <lim...@gmail.com>:
>> 2012/1/10 SeedSeek <frt5...@gmail.com>:
>>> 這樣需要在module.py 中宣告什麼嗎?
>>>
>>> 如果要download 的話
>>> footer 的資料不會進到檔案裡
>>> 這部份要如何修改?
>>>
>>
>> 这块功能目前不是generic.py的缺省支持。所以在models.py中不用声明什么。在ListView中只要返回对应的数据就可以了。如果要在models.py中就可以支持的话,有一些不通用。因为ListView并不是只针对于easyui来生成的,所以其它的展示形式不一定有固定列的功能。
>>
>> 不过这块可以先考虑一下如何支持,因为在models.py中増加一些额外的属性也不会有什么问题。然后就是模块中如何生成需要的js代码。
>>
>
> 另外简单点的办法就是在调用create_table时,可以向options中传入针对固定列的配置项。但是同时要去掉已经在columns中的列,比如:
>
> class Table :
> fields = [
> {'name':'fix_column1'},
> {'name':'fix_column2'},
> {'name':column3'},
> {'name':'column4'},
> ]
>
> 在模板中调用create_table时如:
>
> create_tabe(url, download=False,
> {'frozenColumns':{{=json_dumps(table.get_columns()[:2])}},
> 'columns':{{=json_dumps(table.get_columns()[2:])}}})
>
> 通过手工传入参数来替換缺省的字段定义。这里是假定前两个是固定的,2个后面的不是固定的。不过这样的话,我倒是可以在Table定义中添加比如'frozen'的属性,然后在get_columns()添加一个参数,如frozen=True|False|None,缺省为None,True为只显示Frozen的字段,False为显示非Frozen的字段,然后改造一下inc_table.html。我先试一下吧

FrozenColumns已经支持了。但是footerrows还不行。

要同时更新uliweb和plugs,在Model中的Table定义中,在某个字段定义时,添加'frozen':True就可以了。

SeedSeek

unread,
Jan 11, 2012, 12:26:46 AM1/11/12
to Uliweb
ListView 有沒有辦法在最後插入一筆計算的結果?
download 的時候可以連同插入的最後一筆一起下載

On Jan 10, 2:52 pm, limodou <limo...@gmail.com> wrote:
> 2012/1/10 limodou <limo...@gmail.com>:
>
>
>
>
>
>
>
>
>
> > 2012/1/10 limodou <limo...@gmail.com>:
> >> 2012/1/10 SeedSeek <frt524...@gmail.com>:


> >>> 這樣需要在module.py 中宣告什麼嗎?
>
> >>> 如果要download 的話
> >>> footer 的資料不會進到檔案裡
> >>> 這部份要如何修改?
>

> >> 这块功能目前不是generic.py的缺省支持。所以在models.py中不用声明什么。在ListView中只要返回对应的数据就可以了。如果要在mod els.py中就可以支持的话,有一些不通用。因为ListView并不是只针对于easyui来生成的,所以其它的展示形式不一定有固定列的功能。


>
> >> 不过这块可以先考虑一下如何支持,因为在models.py中増加一些额外的属性也不会有什么问题。然后就是模块中如何生成需要的js代码。
>
> > 另外简单点的办法就是在调用create_table时,可以向options中传入针对固定列的配置项。但是同时要去掉已经在columns中的列,比如:
>
> > class Table :
> > fields = [
> > {'name':'fix_column1'},
> > {'name':'fix_column2'},
> > {'name':column3'},
> > {'name':'column4'},
> > ]
>
> > 在模板中调用create_table时如:
>
> > create_tabe(url, download=False,
> > {'frozenColumns':{{=json_dumps(table.get_columns()[:2])}},
> > 'columns':{{=json_dumps(table.get_columns()[2:])}}})
>

> > 通过手工传入参数来替換缺省的字段定义。这里是假定前两个是固定的,2个后面的不是固定的。不过这样的话,我倒是可以在Table定义中添加比如'frozen '的属性,然后在get_columns()添加一个参数,如frozen=True|False|None,缺省为None,True为只显示Frozen的 字段,False为显示非Frozen的字段,然后改造一下inc_table.html。我先试一下吧

limodou

unread,
Jan 11, 2012, 12:40:59 AM1/11/12
to uli...@googlegroups.com
2012/1/11 SeedSeek <frt5...@gmail.com>:
> ListView 有沒有辦法在最後插入一筆計算的結果?
> download 的時候可以連同插入的最後一筆一起下載
>

如果是求合计之类的,ListView有一个total_fields的参数可以自动求合。另外ListView的render是用来输出结果的,我也可以考虑加一个hook的参数,比如post_render,这样允许用户对生成的数据再进行后续加工如何?

SeedSeek

unread,
Jan 11, 2012, 1:10:29 AM1/11/12
to Uliweb
total_fields 內容看起來是在datagrid 定義一組新欄位
total_fields 應該算是橫向的計算的顯示

total_fields 下載記錄的時候資料可以進得去?
hook 是作縱向計算的 row ?


On Jan 11, 1:40 pm, limodou <limo...@gmail.com> wrote:
> 2012/1/11 SeedSeek <frt524...@gmail.com>:
>
> > ListView 有沒有辦法在最後插入一筆計算的結果?
> > download 的時候可以連同插入的最後一筆一起下載
>
> 如果是求合计之类的,ListView有一个total_fields的参数可以自动求合。另外ListView的render是用来输出结果的,我也可以考虑 加一个hook的参数,比如post_render,这样允许用户对生成的数据再进行后续加工如何?

limodou

unread,
Jan 11, 2012, 4:35:18 AM1/11/12
to uli...@googlegroups.com
2012/1/11 SeedSeek <frt5...@gmail.com>:

> total_fields 內容看起來是在datagrid 定義一組新欄位
> total_fields 應該算是橫向的計算的顯示
>
> total_fields 下載記錄的時候資料可以進得去?
> hook 是作縱向計算的 row ?
>

total_fields是纵向计算的,比如某些列要求和什么的。它是在最后产生一条合计的记录,不是新的字段。

下载也可以进去。

hook现在还没有。我现在只是想到最后调用一下,但如果要对每条记录做处理,有可能每条记录也需要一个hook。

SeedSeek

unread,
Jan 14, 2012, 2:13:45 AM1/14/12
to Uliweb
ListView 的total_fields 好像沒辦法動作
SimpleListView 沒有問題可以跑

On Jan 11, 5:35 pm, limodou <limo...@gmail.com> wrote:
> 2012/1/11 SeedSeek <frt524...@gmail.com>:
>

limodou

unread,
Jan 14, 2012, 2:36:15 AM1/14/12
to uli...@googlegroups.com
2012/1/14 SeedSeek <frt5...@gmail.com>:

> ListView 的total_fields 好像沒辦法動作
> SimpleListView 沒有問題可以跑
>

处理应该是一样的,回头我试一下吧。

SeedSeek

unread,
Jan 15, 2012, 6:01:59 AM1/15/12
to Uliweb
'frozen':True
好像沒有效果


On Jan 14, 3:36 pm, limodou <limo...@gmail.com> wrote:
> 2012/1/14 SeedSeek <frt524...@gmail.com>:

SeedSeek

unread,
Jan 15, 2012, 6:11:46 AM1/15/12
to Uliweb
原來是inc_table.html 也更新了
'frozen':True

效果ok^^
Reply all
Reply to author
Forward
0 new messages