zoukankan      html  css  js  c++  java
  • 1、datatable与datagrid之间的绑定

    1.前台代码:

    插入一个datagrid控件,设置几列。

    这里有两点要注意:

    1)为了显示所要查询的日期,我将前台的列名与后台查询出来的日期绑定了,用了x:Name这个属性

    2)与后台datatable绑定的方法为  Binding="{Binding dt定义的列名}"

    <DataGrid AutoGenerateColumns="False" Height="157" HorizontalAlignment="Left" Margin="219,174,0,0" Name="dataGrid1" VerticalAlignment="Top" Width="504" ItemsSource="{Binding}" >
         <DataGrid.Columns>
              <DataGridTextColumn Binding="{Binding 单位}" x:Name="danwei" FontSize="21" Header="" IsReadOnly="True"  Width="0.1*"  FontWeight="Normal"/>
              <DataGridTextColumn x:Name="first" FontSize="21" Binding="{Binding first}"   IsReadOnly="True" Width="0.1*" FontWeight="Normal"/>       
              <DataGridTextColumn x:Name="second" FontSize="21" Binding="{Binding second}" IsReadOnly="True" Width="0.1*" FontWeight="Normal"/>
              <DataGridTextColumn x:Name="third" FontSize="21" Binding="{Binding third}" IsReadOnly="True" Width="0.1*" FontWeight="Normal"/>
              <DataGridTextColumn x:Name="fourth" FontSize="21" Binding="{Binding fourth}" IsReadOnly="True" Width="0.1*" FontWeight="Normal"/>
              <DataGridTextColumn x:Name="fifth" FontSize="21" Binding="{Binding fifth}" IsReadOnly="True" Width="0.1*" FontWeight="Normal"/>
              <DataGridTextColumn x:Name="sixth" FontSize="21" Binding="{Binding sixth}" IsReadOnly="True" Width="0.1*" FontWeight="Normal"/>
              <DataGridTextColumn x:Name="seventh" FontSize="21" Binding="{Binding seventh}" IsReadOnly="True" Width="0.1*" FontWeight="Normal"/>
         </DataGrid.Columns>
    </DataGrid>

    2.后台代码

    1)根据x:Name传递给前台列名,这样显示出来的就是自己定义的日期

                danwei.Header = "单位";
                first.Header = datePicker1.SelectedDate.Value.AddDays(-7).ToString();
                second.Header = datePicker1.SelectedDate.Value.AddDays(-6).ToString();
                third.Header = datePicker1.SelectedDate.Value.AddDays(-5).ToString();
                fourth.Header = datePicker1.SelectedDate.Value.AddDays(-4).ToString();
                fifth.Header = datePicker1.SelectedDate.Value.AddDays(-3).ToString();
                sixth.Header = datePicker1.SelectedDate.Value.AddDays(-2).ToString();
                seventh.Header = datePicker1.SelectedDate.Value.AddDays(-1).ToString();

    2)绑定列的数据,即通过dt定义的列名,将获得的数据传值到前台

                DataTable dt = new DataTable();
                dt.Columns.Add("单位", typeof(string));
                dt.Columns.Add("first", typeof(double));
                dt.Columns.Add("second", typeof(double));
                dt.Columns.Add("third", typeof(double));
                dt.Columns.Add("fourth", typeof(double));
                dt.Columns.Add("fifth", typeof(double));
                dt.Columns.Add("sixth", typeof(double));
                dt.Columns.Add("seventh", typeof(double));

    3)给dt传递查询出来的数据  dt.Rows.Add(......)    注意:括号中的列数应该与刚刚定义的列数保持一致。

    4)绑定数据  dataGrid1.ItemsSource = dt.DefaultView;

  • 相关阅读:
    [LeetCode] Best Time to Buy and Sell Stock III
    [LeetCode] Implement strStr()
    [LeetCode] Wildcard Matching
    [LeetCode] Gray Code
    [LeetCode] Divide Two Integers
    [LeetCode] Flatten Binary Tree to Linked List
    [LeetCode] Binary Tree Maximum Path Sum
    [TopCoder][SRM] SRM 562 DIV 2
    推荐博客文章
    检测两点所确定直线上的像素坐标
  • 原文地址:https://www.cnblogs.com/wleaves/p/4689250.html
Copyright © 2011-2022 走看看