|
<sfgrid:SfDataGrid x:Name="dataGrid"
AllowEditing="True"
ItemsSource="{Binding OrdersInfo}"
AutoGenerateColumns="False" AllowResizingColumn="True">
<sfgrid:SfDataGrid.Columns>
<sfgrid:GridTextColumn HeaderText="Order ID" MappingName="OrderID">
<sfgrid:GridTextColumn.HeaderTemplate>
<DataTemplate>
<Picker ItemsSource="{Binding HeaderList,Source={Reference viewModel}" SelectedIndex="1"/>
</DataTemplate>
</sfgrid:GridTextColumn.HeaderTemplate>
</sfgrid:GridTextColumn>
<sfgrid:GridTextColumn HeaderText="CustomerID" MappingName="CustomerID" AllowSorting="True"/>
<sfgrid:GridTextColumn HeaderText="First Name" MappingName="FirstName"/>
<sfgrid:GridTextColumn HeaderText="Last Name" MappingName="LastName"/>
<sfgrid:GridTextColumn HeaderText="ShipCity" MappingName="ShipCity"/>
</sfgrid:SfDataGrid.Columns>
</sfgrid:SfDataGrid>
|
|
Note: We have loaded a picker in the HeaderTemplate, You can load any views based on your requirement.
|
|
[MainPage.xaml]
<dataGrid:SfDataGrid
ItemsSource="{Binding OrdersInfo}">
.........
.........
.........
.........
<dataGrid:SfDataGrid.Columns>
<dataGrid:GridTextColumn MappingName="OrderID">
<dataGrid:GridTextColumn.HeaderTemplate>
<DataTemplate>
<Label Text="{Binding ColumnTitles[0], Source={x:Reference _viewModel}}" VerticalOptions="Center" HorizontalOptions="Center"/>
</DataTemplate>
</dataGrid:GridTextColumn.HeaderTemplate>
</dataGrid:GridTextColumn>
.........
.........
</dataGrid:SfDataGrid.Columns>
</dataGrid:SfDataGrid>
[ViewModel.cs]
private List<string> _columnTitles;
public List<string> ColumnTitles
{
get
{
return _columnTitles;
}
set
{
this._columnTitles = value;
this.RaisePropertyChanged("ColumnTitles");
}
}
|
|
[MainPage.Xaml]
<dataGrid:SfDataGrid.Behaviors>
<b:EventToCommandBehavior EventName="GridViewCreated"
Command="{Binding Source={x:Reference Page}, Path= BindingContext.GridViewCreatedCommand}"
CommandParameter="{x:Reference datagrid}"
/>
dataGrid:SfDataGrid.Behaviors>
<dataGrid:GridTextColumn MappingName="OrderID">
<dataGrid:GridTextColumn.HeaderTemplate>
<DataTemplate>
<Label Text="{Binding Source={x:Reference Page}, Path=BindingContext.ColumnTitles[0]}" VerticalOptions="Center" HorizontalOptions="Center"/>
DataTemplate>
dataGrid:GridTextColumn.HeaderTemplate>
dataGrid:GridTextColumn>
[MainPageViewModel.cs]
private DelegateCommand
public DelegateCommand
private void ExecuteCommand (SfDataGrid dataGrid)
{
/// Here we can achieve your customization
}
|