如何使用隐藏代码分配 DataGrid 的 ItemsSource?
How to assign the ItemsSource of a DataGrid with code behind?
我的 XAML:
中有一个 DataGrid
<DataGrid x:Name="dataGridBasket" Width="270" AutoGenerateColumns="True"
ItemsSource="{Binding Path=LoadDataBindingBasket}" HorizontalAlignment="Left" Margin="10,5,0,10" />
我有一些代码可以 运行 查询 SQL 并将结果分配给网格:
DataSet dataSetBespokeBasket = new DataSet();
MySqlDataAdapter adp = new MySqlDataAdapter(mySqlCommand);
adp.Fill(dataSetBespokeBasket, "LoadDataBindingBasket");
dataGridBasket.DataContext = dataSetBespokeBasket;
问题:有没有办法省略 ItemsSource="{Binding Path=LoadDataBindingBasket}" 并在 C# 代码中分配它?必须绑定到我在 XAML 中指定的名称有点笨拙,我希望能够在 运行 时间针对各种用例修改它。
您必须 select 来自 DataSet.Table
的适当 DataTable
并将其分配给 DataGrid.ItemsSource
:
var dataSet = new DataSet();
...
this.dataGridBasket.ItemsSource = dataset.Tables["MyDtabaseTablename"].DefaultView;
我的 XAML:
中有一个 DataGrid<DataGrid x:Name="dataGridBasket" Width="270" AutoGenerateColumns="True"
ItemsSource="{Binding Path=LoadDataBindingBasket}" HorizontalAlignment="Left" Margin="10,5,0,10" />
我有一些代码可以 运行 查询 SQL 并将结果分配给网格:
DataSet dataSetBespokeBasket = new DataSet();
MySqlDataAdapter adp = new MySqlDataAdapter(mySqlCommand);
adp.Fill(dataSetBespokeBasket, "LoadDataBindingBasket");
dataGridBasket.DataContext = dataSetBespokeBasket;
问题:有没有办法省略 ItemsSource="{Binding Path=LoadDataBindingBasket}" 并在 C# 代码中分配它?必须绑定到我在 XAML 中指定的名称有点笨拙,我希望能够在 运行 时间针对各种用例修改它。
您必须 select 来自 DataSet.Table
的适当 DataTable
并将其分配给 DataGrid.ItemsSource
:
var dataSet = new DataSet();
...
this.dataGridBasket.ItemsSource = dataset.Tables["MyDtabaseTablename"].DefaultView;