WPF - 多列ListView添加数据的多种方式

多列ListView:

  

        <ListView x:Name="listView">
            <ListView.View>
                <GridView>
                    <GridViewColumn Header="序号" Width="50"/>
                    <GridViewColumn Header="姓名" Width="90"/>
                    <GridViewColumn Header="成绩" Width="90"/>
                </GridView>
            </ListView.View>
        </ListView>

多列ListView填充数据:

一、使用DataTable填充

xml代码:

        <ListView x:Name="listView" ItemsSource="{Binding}">
            <ListView.View>
                <GridView>
                    <GridViewColumn Header="序号" Width="50" DisplayMemberBinding="{Binding Num}"/>
                    <GridViewColumn Header="姓名" Width="90" DisplayMemberBinding="{Binding Name}"/>
                    <GridViewColumn Header="成绩" Width="90" DisplayMemberBinding="{Binding Score}"/>
                </GridView>
            </ListView.View>
        </ListView>

cs代码:

using System.Data;

DataTable dt = new DataTable(); dt.Columns.Add("Num"); dt.Columns.Add("Name"); dt.Columns.Add("Score"); dt.Rows.Add(0,"章鱼",126); dt.Rows.Add(1,"胖虎",114); dt.Rows.Add(2,"暴君",128); listView.DataContext = dt;

效果:

二、使用匿名对象填充

xml代码:

        <ListView x:Name="listView">
            <ListView.View>
                <GridView>
                    <GridViewColumn Header="序号" Width="50" DisplayMemberBinding="{Binding Num}"/>
                    <GridViewColumn Header="姓名" Width="90" DisplayMemberBinding="{Binding Name}"/>
                    <GridViewColumn Header="成绩" Width="90" DisplayMemberBinding="{Binding Score}"/>
                </GridView>
            </ListView.View>
        </ListView>

cs代码:

            listView.Items.Add(new { Num = "1", Name = "A", Score = "10"});
            listView.Items.Add(new { Num = "2", Name = "B", Score = "20" });
            listView.Items.Add(new { Num = "3", Name = "C", Score = "30" });

效果:

三、使用实例对象(推荐)

xml代码:

        <ListView x:Name="listView">
            <ListView.View>
                <GridView>
                    <GridViewColumn Header="序号" Width="50" DisplayMemberBinding="{Binding Num}"/>
                    <GridViewColumn Header="姓名" Width="90" DisplayMemberBinding="{Binding Name}"/>
                    <GridViewColumn Header="成绩" Width="90" DisplayMemberBinding="{Binding Score}"/>
                </GridView>
            </ListView.View>
        </ListView>

cs代码:

        public MainWindow()
        {
            InitializeComponent();

            listView.Items.Add(new StudentInfo(11, "小花", 22));
            listView.Items.Add(new StudentInfo(12, "小草", 11));
            listView.Items.Add(new StudentInfo(13, "小蚂蚁", 12));
        }
        

        class StudentInfo
        {
            public int Num { set; get; }
            public string Name { set; get; }
            public int Score { set; get; }

            public StudentInfo(int num,string name,int score)
            {
                this.Num = num;
                this.Name = name;
                this.Score = score;
            }
        }

效果:

转载于:https://www.cnblogs.com/aucy/p/9097304.html

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值