首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在DataGrid中设置增量数或索引值

在DataGrid中设置增量数或索引值
EN

Stack Overflow用户
提问于 2016-06-23 06:30:55
回答 1查看 2.6K关注 0票数 0

我有一个Mobile类型的收藏

代码语言:javascript
复制
public class Mobile
{
    public string MobileName { get; set; }
    public string MobileOS { get; set; }
}

ObservableCollection<Mobile> MobileList = new ObservableCollection<Mobile>()
{
    new Mobile() { MobileName = "iPhone 6", MobileOS = "IOS" },
    new Mobile() { MobileName = "Galaxy S6", MobileOS = "Android" },
    new Mobile() { MobileName = "Lumina", MobileOS = "Windows" },
}

适当的WPF DataGrid (XAML)

代码语言:javascript
复制
<DataGrid Name="Grid1" AutoGenerateColumns="False" ItemsSource="{Binding MobileList, UpdateSourceTrigger=PropertyChanged}">
    <DataGrid.Columns>
        <!--Column 1-->
        <DataGridTextColumn Binding="" Header="Index" />
        <!--Column 2-->
        <DataGridTextColumn Binding="{Binding MobileName}" Header="Name" />
        <!--Column 3-->
        <DataGridTextColumn Binding="{Binding MobileOS}" Header="OS" />
    </DataGrid.Columns>
</DataGrid>

我需要在列1中设置索引值。请帮助我如何设置与集合相关的列的索引值。

备注:我需要在XAML级别,而不是在C#代码级实现中

必需的数据网格:模型快照

EN

回答 1

Stack Overflow用户

发布于 2016-06-23 06:37:10

不需要定制列,只需将LoadingRow事件添加到DataGrid中并删除<DataGridTextColumn Header="Index" />

代码语言:javascript
复制
<DataGrid Name="Grid1" AutoGenerateColumns="False" LoadingRow="Grid1_OnLoadingRow">
    <DataGrid.Columns>
        <DataGridTextColumn Binding="{Binding MobileName}" Header="Name" />
        <DataGridTextColumn Binding="{Binding MobileOS}" Header="OS" />
    </DataGrid.Columns>
</DataGrid>

然后:

代码语言:javascript
复制
private void Grid1_OnLoadingRow(object sender, DataGridRowEventArgs e)
{
    e.Row.Header = (e.Row.GetIndex()).ToString();
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37983858

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档