Dataatable как источник данных для сетки данных в wpf - PullRequest
1 голос
/ 07 марта 2012

Как установить значения элемента управления сеткой данных из таблицы данных?

Я использую этот источник

    public static readonly DependencyProperty ObjDataTableDefaultViewProperty = DependencyProperty.Register("ObjDataTableDefaultView", typeof(System.Data.DataView), typeof(Window1), new FrameworkPropertyMetadata());

    public System.Data.DataView ObjDataTableDefaultView
    {
        get { return (System.Data.DataView)GetValue(ObjDataTableDefaultViewProperty); }
        set { SetValue(ObjDataTableDefaultViewProperty, value); }
    }
    private void CreateObjDataTable()
    {
        try
        {
            ObjDataTableDefaultView = table.DefaultView;
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message);
        }
    }

Но появляется сообщение об ошибке, и программа останавливается,

Первое исключение типа «System.Windows.Markup.XamlParseException» произошло в PresentationFramework.dll

Дополнительная информация: невозможно создать экземпляр 'Window1', определенный в сборка 'ReadSky, версия = 1.0.0.0, культура = нейтральная, PublicKeyToken = нуль. Исключение было брошено целью призывание. Ошибка в файле разметки «Window1.xaml», строка 1, позиция 9.

 My XAML

<Window x:Class="ReadSky.Window1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="Window1" Height="296" Width="738" xmlns:my="http://schemas.microsoft.com/wpf/2008/toolkit">
    <Grid>
        <my:DataGrid AutoGenerateColumns="False" Margin="36,30,39,90" Name="gridCtrl" VerticalAlignment="Stretch" HorizontalAlignment="Stretch" IsReadOnly="True" RowBackground="Gray" AlternatingRowBackground="White" ItemsSource="{Binding ObjDataTableDefaultView, ElementName=uc, Mode=OneWay}"/>
    </Grid>
</Window>

1 Ответ

1 голос
/ 07 марта 2012

Вы можете попробовать это:

 <DataGrid Name="grid" AutoGenerateColumns="True" ItemsSource="{Binding}" />     

 public DataTable TableData {
        get {
            DataTable dt = new DataTable();
            dt.Columns.Add("col1");
            dt.Columns.Add("col2");
            dt.Rows.Add(new string[] {"val1", "val2"});
            return dt;
        }
    }

 grid.DataContext = TableData;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...