List of Exercises

How to use Display 10M Rows in DataGrid WPF C#

	    

<Window x:Class="Large_Number_of_Rows_DataGrid.MainWindow"

xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"

xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"

xmlns:d="http://schemas.microsoft.com/expression/blend/2008"

xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"

xmlns:local="clr-namespace:Large_Number_of_Rows_DataGrid"

mc:Ignorable="d"

Title="MainWindow" Height="450" Width="800">

<Grid>

<DataGrid x:Name="largeDataGrid" AutoGenerateColumns="True"

VirtualizingStackPanel.IsVirtualizing="True"

VirtualizingStackPanel.VirtualizationMode="Recycling"

EnableColumnVirtualization="True" />

</Grid>

</Window>



using System;

using System.Collections.Generic;

using System.Collections.ObjectModel;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows;

using System.Windows.Controls;

using System.Windows.Data;

using System.Windows.Documents;

using System.Windows.Input;

using System.Windows.Media;

using System.Windows.Media.Imaging;

using System.Windows.Navigation;

using System.Windows.Shapes;


namespace Large_Number_of_Rows_DataGrid

{

/// <summary>

/// Interaction logic for MainWindow.xaml

/// </summary>

public partial class MainWindow : Window

{

public ObservableCollection<DataItem> DataItems { get; set; }


public MainWindow()

{

InitializeComponent();

DataItems = GenerateLargeData(10000000); // Generate a large dataset 10M

largeDataGrid.ItemsSource = DataItems;

}


private ObservableCollection<DataItem> GenerateLargeData(int count)

{

var data = new ObservableCollection<DataItem>();

Random random = new Random();

for (int i = 0; i < count; i++)

{

data.Add(new DataItem

{

Id = i + 1,

Name = $"Item {i + 1}",

Value = random.Next(1, 1000),

Description = $"This is a sample description for item {i + 1}."

});

}

return data;

}

}


public class DataItem

{

public int Id { get; set; }

public string Name { get; set; }

public int Value { get; set; }

public string Description { get; set; }

}

}



Download the project of Visual Studio 2022 in DropBox Download


Make Your WPF DataGrid Handle 10M+ Rows EASILY! WPF C#


Video Thumbnail