我有一个WPF应用程序,其中包含一个显示大量数据的标准DataGrid.
现在我想添加按钮来选择下一个/第一个/上一个/最后一行.
有没有办法让DataGrid为我更改选择?
我试着用
private void SelectNext_Click(object sender, RoutedEventArgs e)
{
datagrid.MoveFocus(new TraversalRequest(FocusNavigationDirection.Next));
}
Run Code Online (Sandbox Code Playgroud)
但它对我不起作用(不更改所选项目,只将单元格焦点设置为第一个项目).
private void SelectNext_Click(object sender, RoutedEventArgs e)
{
if (dataGrid.Items.Count - 1 > datagrid.SelectedIndex)
{
datagrid.SelectedIndex++;
}
}
private void SelectPrevious_Click(object sender, RoutedEventArgs e)
{
if (dataGrid.SelectedIndex > 0)
{
datagrid.SelectedIndex--;
}
}
private void SelectFirst_Click(object sender, RoutedEventArgs e)
{
dataGrid.SelectedIndex = 0;
}
private void SelectLast_Click(object sender, RoutedEventArgs e)
{
dataGrid.SelectedIndex = dataGrid.Items.Count - 1;
}
Run Code Online (Sandbox Code Playgroud)
如果您通过数据绑定使用数据源填充数据网格,则可以这样做
“下一步”按钮示例
private void btnNext_Click(object sender, RoutedEventArgs e)
{
ICollectionView view = CollectionViewSource.GetDefaultView(yourDataSource);
view.MoveCurrentToNext();
}
Run Code Online (Sandbox Code Playgroud)
该界面ICollectionView具有移动当前项目所需的所有方法
在 XAML 中还记得设置
<DataGrid ..... IsSynchronizedWithCurrentItem="True" >
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15046 次 |
| 最近记录: |