首页 新闻 会员 周边 捐助

c# wpf的gridcontrol选中问题

0
悬赏园豆:5 [已解决问题] 解决于 2023-06-17 22:45

请问如何实现下图根据工艺名称内容选中对应行?目前只能手动鼠标点击来选中

tea2007的主页 tea2007 | 初学一级 | 园豆:34
提问于:2023-06-15 12:06
< >
分享
最佳答案
0

在WPF的GridControl中,可以通过编程的方式来选中对应的行。

// 假设GridControl的名称为gridControl,工艺名称列的名称为col工艺名称

// 获取GridControl的数据源
var itemsSource = gridControl.ItemsSource as List<YourDataType>;

// 遍历数据源,查找匹配的工艺名称
foreach (var item in itemsSource)
{
    if (item.工艺名称 == "要选中的工艺名称")
    {
        // 获取GridControl中的行
        var rowHandle = gridControl.GetRowHandleByListIndex(itemsSource.IndexOf(item));

        // 选中对应的行
        gridControl.View.FocusedRowHandle = rowHandle;
        gridControl.View.SelectRow(rowHandle);

        // 可以根据需要设置其他行为,比如滚动到选中的行
        gridControl.View.FocusedRowHandle = rowHandle;
        gridControl.View.MoveFocusedRow(rowHandle);
        gridControl.View.MoveFocusedRow(rowHandle, DevExpress.Xpf.Grid.MoveFocusDirection.None);

        break;
    }
}

请注意,以上示例代码假设GridControl的数据源为List,你需要将YourDataType替换为你的数据类型。另外,你需要根据实际情况修改工艺名称列的名称和要选中的工艺名称。

收获园豆:5
lanedm | 老鸟四级 |园豆:2396 | 2023-06-15 12:11


谢谢朋友,很详细,请问这里输什么,工艺名称是不是要 item.row[0][1] 类似属性来取?

tea2007 | 园豆:34 (初学一级) | 2023-06-15 15:17

@tea2007: 不是的,这里item是你表格绑定的数据,工艺名称就是绑定类型的属性值。如果你没用数据绑定就用不了这种方法

二次元攻城狮 | 园豆:462 (菜鸟二级) | 2023-06-17 14:05

@二次元攻城狮: 谢谢,原来我的是Dev控件的Gridcontrol,最后我用:
gridstepsnew.gcprocessstepprofile.view.MoveNextRow();//下移一条记录
gridstepsnew.gcprocessstepprofile.view.FocusedRowHandle=10;//移到第10条记录
实现,gridstepsnew是自定义控件名称,gcprocessstepprofile是Dev的Gridcontrol

tea2007 | 园豆:34 (初学一级) | 2023-06-18 21:47
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册