我使用library(dplyr)
library(purrr)
df %>%
mutate(SOLVED_DATE = as.Date(SOLVED_DATE)) %>%
group_by(USER_ID) %>%
mutate(Order_History = map_dbl(SOLVED_DATE,
~sum(QUESTIONS_SOLVED[(SOLVED_DATE > . - 7) & (SOLVED_DATE < .)])))
# USER_ID SOLVED_DATE QUESTIONS_SOLVED Order_History
# <int> <date> <int> <dbl>
# 1 1 2019-05-01 1 0
# 2 1 2019-05-02 1 1
# 3 2 2019-05-02 1 0
# 4 2 2019-05-03 1 1
# 5 2 2019-05-04 1 2
# 6 2 2019-05-05 1 3
# 7 1 2019-05-06 1 2
# 8 2 2019-05-06 1 4
# 9 1 2019-05-07 1 3
#10 2 2019-05-07 1 5
# … with 11 more rows
绑定到DataGrid
上,如下所示:
ObservableCollection<T>
网格中的列名称与我的类<DataGrid ItemsSource="{Binding Path=Items}" />
中的属性名称相同。如何更改这些名称,例如基于当前的文化?
我的Item
类具有以下属性:
Item
我在网格中的列名称获得名称“ ThisIsProperty1”和“ Property2”,但是我想设置自定义名称,例如“ P1”和“ Prop 2”。
谢谢!
答案 0 :(得分:0)
如果您只想覆盖某些标头,请尝试以下操作:
<DataGrid ItemsSource="{Binding Path=Items}">
<DataGrid.Columns>
<DataGridTextColumn Header="Desired Header" Binding="{Binding SomePropToOverride}"/>
<DataGridTextColumn Header="Another Header" Binding="{Binding SomeOtherPropToOverride}"/>
</DataGrid.Columns>
</DataGrid>
如果只想显示特定的列,可以将AutoGenerateColumns="false"
添加到DataGrid
您可以找到更深入的教程here
答案 1 :(得分:0)
我处理本地化的首选方法是使所有字符串(需要翻译)成为资源字典中的资源。我通常有一个“基本”默认英语资源词典。然后是其他每种语言的资源字典。合并适当的语言。然后,我使用dynamicresource大致按键引用字符串:
Header="{DynamicResource Property2HeaderKey}"
您可以在磁盘外合并“松散”的未编译资源字典,这使您轻松解耦。如果有人需要一种不寻常的语言,则可以单独提供其文件,甚至在必要时也可以在安装后提供。
您也可以将资源字典作为字符串存储在数据库中,然后通过xamlreader将其动态加载到资源字典中。
通常,您会在应用程序中拥有一个“管理员”或超级用户区域,该区域具有可以用英语显示的功能,因此语言资源字典可以是默认英语字典的子集。