相关文章推荐
直爽的棒棒糖  ·  C++ ...·  11 月前    · 
寂寞的茄子  ·  c# wpf radio button ...·  1 年前    · 
逃跑的键盘  ·  RapidJSON —— C++ 快速 ...·  1 年前    · 

初学WPF 以前用的Winform中的 DatagridView就是直接绑定Datasource 就ok了

然后在wpf中一直用的容器 Grid 以为还要各种模板 后台遍历 麻烦 没想到 还有一个 空间 Datagrid 就是相当于Winform中的 datagridview 也可以实现直接绑定数据源。操作如下:

XML:

<DataGrid Name="OperationData" Background="Transparent">


</DataGrid>

后台:

private void Window_Loaded(object sender, RoutedEventArgs e)

{

datatable dt = 查询数据

OperationData.ItemsSource = dt.DefaultView;

}

是不是很简单 。

其实打代码和做事情一个道理的,不一定做的多就是好的,有些事不要太繁琐,去其糟泊取其精华才好,每次在网上搜知识点大部分都是长篇大论,一页有一页的的代码看我的直接就关了。但那些真的的大神都是点石成金,抓其重点,活学活用愿每一个程序员都能少打代码,多用思路。

实例源码:

xaml:




<Window x:Class="WpfApp5.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:WpfApp5"
mc:Ignorable="d"
Title="MainWindow" Height="450" Width="800" Loaded="Window_Loaded">
<Grid>
<DataGrid Name="dataGrid" AutoGenerateColumns="True" Background="Transparent" Margin="5">

</DataGrid>
</Grid>
</Window>

C# code



using System.Data;
using System.Windows;


namespace WpfApp5
{
/// <summary>
/// MainWindow.xaml 的交互逻辑
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private void Window_Loaded(object sender, RoutedEventArgs e)
{
//顺序是新建对bai象-->新建列du-->新建行,示例代码如下:
DataTable dt = new DataTable(); //新建对象
dt.Columns.Add("姓名", typeof(string)); //新建第一du列
dt.Columns.Add("年龄", typeof(int)); //新建第二列
dt.Rows.Add("张三", 23); //新建第一行,并赋值
dt.Rows.Add("李四", 25); //新建第二行,并赋值
dataGrid.ItemsSource = dt.DefaultView;//将数据源显示到dataGrid控件上
}
}
}

如果从XAML中生成表格的列名称,修改如下



 <DataGrid x:Name="DATA_GRID" ItemsSource="{Binding}" AutoGenerateColumns="False" Grid.Row="0" Grid.Column="1" Background="LightGray" Margin="10">
<DataGrid.Columns>
<DataGridTextColumn Header="姓名" Binding="{Binding 姓名}"/>
<DataGridTextColumn Header="年龄" Binding="{Binding 年龄}"/>
</DataGrid.Columns>
</DataGrid>