如何从xaml代码创建的dataGrid中获取数据表,以便从c#代码中更改dataGrid?

时间:2018-09-27 08:11:41

标签: c# wpf-controls

我已经用xaml代码创建了一个控件

<UserControl 
    x:Class="project.control"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
    <Grid>
        <DataGrid x:Name="nbElementTAb" HorizontalAlignment="Left" Margin="26,464,0,0" VerticalAlignment="Top" Height="112" Width="411">
            <DataGrid.Columns>
                <DataGridTextColumn Header = "Name" />
                <DataGridTextColumn Header = "Title"/>
            </DataGrid.Columns>


        </DataGrid>
    </Grid>

我已经读到没有制作dataGrid,因此可以直接从代码中更改元素。 (顺便说一句,我没有找到一种方法来做到这一点)。 必须将dataGrid绑定到数据源(例如dataTable),如下所示:

mydataGrid.ItemsSource = myDataTable.DefaultView

,然后可以在代码中更改数据表的元素。

我已经使用了与我的数据网格相同的shema的datable。我没有按预期工作。我的数据网格具有相同列的2倍。第一部分是空列。它们是我在xaml文件中创建的列。第二部分是dataTable中的列。

这里:

  

How to convert DataGrid to dataTable

他们说了如何获取与dataGrid对应的数据表。

DataTable dt = new DataTable();
dt = ((DataView)DataGrid.ItemsSource).ToTable();  

但是它只有在我之前已经将DataGrid绑定到dataTable时才起作用。

谢谢您的帮助

0 个答案:

没有答案