动态添加DataGrid DateTime列

时间:2011-07-30 08:41:29

标签: c# wpf datagrid

我正在尝试在DateTime中动态添加DataGrid(7/30/2011)列。我将上传我手动制作的网格截图。我想制作一个范围组合框。因此,如果用户选择2周,则网格会逐日添加列。

Screenshot

1 个答案:

答案 0 :(得分:2)

你可以做这样的事情

private void AddColumns(GridView gv, string[] dateColumns)
{
    for (int i = 0; i < dateColumns.Length; i++)
    {
        gv.Columns.Add(new GridViewColumn
        {
            Header = dateColumns[i],
            DisplayMemberBinding = new Binding(String.Format("[{0}]", i))
        });
    }
}

可以在Combobox OnSelectionChanged()

上调用

您还可以使用DataTemplate正确显示列:

<DataTemplate DataType="{x:Type DateTime}">
        <TextBlock Text="{Binding StringFormat={0:d}}"  />
</DataTemplate>

不只是根据您的需要调整您的StringFormat:

基本是Binding="{Binding date, StringFormat={}{0:dd/MM/yyyy}}"