DataGrid对应列的“Header”属性
DataGrid在绑定“数据源”之后,它对应的“列”的名称就不能改变了吗???
如下图:
[img=http://social.msdn.microsoft.com/Forums/getfile/145581][/img]
改变列名称的代码如下:
var datasource = GetEnumerable(dicList).ToDataSource();
dgrid.ItemsSource = GetEnumerable(dicList).ToDataSource();
for (int i = 1; i < dgrid.Columns.Count; i++)
{
//dgrid.Columns[1].Header = dgrid.Columns[1].Header.ToString().Replace("H", "");
dgrid.Columns[i].Header = i.ToString();
}
this.mainPanel.Children.Add(dgrid);
问题:希望将列名中的“H”去掉,应该怎样修改??? 数据集已经绑定到“DataGrid”了
[解决办法]
我不知道你的需求是什么样,如果不是为了Header的名字动态生成,可以直接在页面上创建列,并指定列名为01、02、03。然后把H01、H02、H03绑定到对应的列上类似于这样,但是AutoGenerateColumns="False"(自动生成列关闭):
<sdk:DataGrid x:Name="dgNearHistoryData" AutoGenerateColumns="False" >
<sdk:DataGrid.Columns>
<sdk:DataGridTextColumn Header="01" Binding="{Binding H01}" Width="110"></sdk:DataGridTextColumn>
<sdk:DataGridTextColumn Header="02" Binding="{Binding H02}" Width="*"></sdk:DataGridTextColumn>
</sdk:DataGrid.Columns>
</sdk:DataGrid>