none
使用Toolkit怎么对DataTable进行绑定? RRS feed

  • 问题

  • <Window x:Class="WpfApplication1.Window1"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:c="clr-namespace:WpfApplication1"
            xmlns:dd="clr-namespace:System.Data;assembly=System.Data"
            Loaded="Window_Loaded"
        Title="Window1" Height="288" Width="517" xmlns:my="http://schemas.microsoft.com/wpf/2008/toolkit">
        <Window.Resources>
            <c:NameList x:Key="NameListData"/>
            <dd:DataTable x:Key="mydt"/>        
        </Window.Resources>
        <Grid>        
            <my:DataGrid AutoGenerateColumns="False" Height="100" Margin="230,16,40,0" Name="dataGrid2" VerticalAlignment="Top"
                         ItemsSource="{Binding Source={StaticResource mydt}}">
                <my:DataGrid.Columns>
                    <my:DataGridTextColumn Header="id" Binding="{Binding Path=id}"/>
                    <my:DataGridTextColumn Header="item" Binding="{Binding Path=item}"/>
                </my:DataGrid.Columns>
            </my:DataGrid>
        </Grid>
    </Window>
    
    以上是xaml,一下是定义的一个DataTable
    DataTable mydt = new DataTable("mydatatable");
              mydt.Columns.Add("id");
                mydt.Columns.Add("item");
                mydt.Rows.Add("1", "item1");
                mydt.Rows.Add("2", "item2");
                mydt.Rows.Add("3", "item3");
                mydt.Rows.Add("4", "item4");
    我觉得应该是<my:DataGridTextColumn Header="item" Binding="{Binding Path=item}"/>里的Binding出了问题,但不知道怎么弄。求高人指点,在线等!~!
    2009年9月9日 8:42

答案

  • 问题解决了。以上代码都不做改动,在code里加入绑定语句就行了
    dataGrid2.ItemsSource = mydt.DefaultView;
    • 已标记为答案 Maths_bai 2009年9月10日 5:35
    2009年9月10日 5:35

全部回复

  • 自己顶一下~~
    2009年9月10日 1:08
  • 问题解决了。以上代码都不做改动,在code里加入绑定语句就行了
    dataGrid2.ItemsSource = mydt.DefaultView;
    • 已标记为答案 Maths_bai 2009年9月10日 5:35
    2009年9月10日 5:35
  • itemsource 支持  item[]绑定  正好 defaultview 也可以  但是  mydt.select() 也可以  mydt as IEnumerble  也可以


    恭喜自己5星用户达成
    2009年9月10日 5:52
  • 很高兴看到楼主的问题得到解决, 韦恩卑鄙说的对, ItemsControl类型其数据源支持只要是实现IEnumerable接口的类型,如你有其他疑问,请继续发贴.

    谢谢.


    Jim Zhou -MSFT
    2009年9月11日 7:50
    版主