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;
            }
        }

效果:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM