wpf将表中数据显示到datagrid示例


在WPF(Windows Presentation Foundation)中,将数据表中的数据显示到DataGrid控件是一种常见需求。以下是一个简单的示例,展示了如何实现这一功能。

首先,你需要一个数据源,这里我们假设你有一个简单的`DataTable`作为数据源,它包含了一些数据。然后,你可以将这个`DataTable`绑定到DataGrid的`ItemsSource`属性上。

### 1. XAML部分

在你的XAML文件中,首先需要添加一个DataGrid控件。


<Window x:Class="YourNamespace.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="DataGrid Example" Height="450" Width="800">
    <Grid>
        <DataGrid Name="dataGrid1" AutoGenerateColumns="True" HorizontalAlignment="Left" Margin="10,10,0,0" VerticalAlignment="Top" Height="300" Width="780"/>
    </Grid>
</Window>

注意,`AutoGenerateColumns="True"`属性意味着DataGrid将自动根据数据源中的列生成列。

### 2. C#代码部分

在后台代码中,你需要填充`DataTable`并将其设置为DataGrid的数据源。


using System.Data;
using System.Windows;

namespace YourNamespace
{
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
            LoadData();
        }

        private void LoadData()
        {
            DataTable dt = new DataTable();

            // 假设这是你的数据表结构
            dt.Columns.Add("ID", typeof(int));
            dt.Columns.Add("Name", typeof(string));
            dt.Columns.Add("Age", typeof(int));

            // 添加一些数据
            dt.Rows.Add(1, "Alice", 30);
            dt.Rows.Add(2, "Bob", 25);
            dt.Rows.Add(3, "Charlie", 35);

            // 将DataTable设置为DataGrid的数据源
            dataGrid1.ItemsSource = dt.DefaultView;
        }
    }
}

在这个例子中,我们创建了一个`DataTable`,添加了几列和几行数据,然后将其`DefaultView`(即`DataView`)设置为DataGrid的`ItemsSource`。这样,DataGrid就会自动显示`DataTable`中的数据。

注意,虽然这里使用了`DataTable`和`DataView`,但你也可以使用其他类型的数据源,如`List`、`ObservableCollection`等,只要它们实现了`IEnumerable`接口。对于更复杂的数据绑定场景,你可能还需要设置列的`Header`属性或自定义列模板。