当前位置: 首页 > article >正文

DevExpress 表格再新增行后滚动条自动移动到新增行

DevExpress 表格再新增行后滚动条自动移动到新增行
dxg:GridControl
dxg:TableView
WPF项目
Visual Studio

1. 前端代码

前端有两种方法,一种是GridControl的CurrentItem属性,一种是TableView的FocusedRow属性,二选一即可
示例:

<dxg:GridControl CurrentItem="{Binding CurrentLogInfo,Mode=TwoWay}">
                <dxg:GridControl.View>
                    <dxg:TableView AllowEditing="False" FocusedRow="{Binding CurrentLogInfo,Mode=TwoWay}"/>
                </dxg:GridControl.View>
                <dxg:GridControl.Columns>
                </dxg:GridControl.Columns>
            </dxg:GridControl>

2. 后端代码

继承INotifyPropertyChanged并实现RaisePropertyChanged

public class LogViewModel : INotifyPropertyChanged
    {
        public ObservableCollection<LogInfo> logList { get; set; }
        private object _syncLock = new Object();
        public ICollectionView CollectionView { get; set; }

        public LogInfo CurrentLogInfo
        {
            get
            {
                return _currentLogInfo;
            }

            set
            {
                _currentLogInfo = value;
                RaisePropertyChanged("CurrentLogInfo");
            }
        }
        LogInfo _currentLogInfo;
        public event PropertyChangedEventHandler PropertyChanged;
        private void RaisePropertyChanged(String propertyName)
        {
            if (PropertyChanged != null)
            {
                PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
            }
        }

        public LogViewModel()
        {
            logList = new ObservableCollection<LogInfo>();

            CollectionView = CollectionViewSource.GetDefaultView(logList);
            BindingOperations.EnableCollectionSynchronization(logList, _syncLock);
        }
    }

这样我们在改变CurrentLogInfo时,就会通知客户端属性值已更改。

logvm.logList.Add(log);
logvm.CurrentLogInfo = log;

http://www.kler.cn/a/281746.html

相关文章:

  • 问:Spring MVC DispatcherServlet流程步骤梳理
  • docker minio修改时区问题记录
  • macOS 的目录结构
  • LLM评测指标与评测方法
  • 2021 年 9 月青少年软编等考 C 语言三级真题解析
  • 计算机网络中的数据包传输机制详解
  • 建筑业AI的崛起The Rise of AI and Machine Learning in Construction
  • Android Compose 下拉选择框 ExposedDropdownMenu下拉选择
  • 超越传统:探索Visual Basic在操作系统插件开发的新境界
  • 少儿编程Python系列课程——003python注释
  • Ubuntu 22安装和配置PyCharm详细教程(图文详解)
  • 歌曲分享平台|基于SprinBoot+vue的原创歌曲分享平台系统(源码+数据库+文档)
  • Android实现自定义方向盘-8自定义view的相关问题
  • KOLLMORGEN科尔摩根驱动器AKD-P00607-NBPN-0000
  • 三防平板:定制化服务的趋势——以智慧医疗为例
  • 【Java】—— Java面向对象基础:Java中类的构造器与属性初始化,Student类的实例
  • 一、基于Vue3的开发-环境搭建【pnpm】安装
  • Java-多线程IO工具类
  • Matlab矩阵基础操作
  • LLM大模型入门天花板!《大模型入门:技术原理与实战应用》一本书让你轻松入门大模型(附PDF)
  • 什么是Dropout在机器学习中?
  • JVM类加载机制—类加载器和双亲委派机制详解
  • easyExcel 导入时,校验每个单元格数据
  • C语言 之 自定义类型:结构体、结构体内存对齐、修改默认对齐参数 详细说明 可以来看看哟
  • DPDK:RTE_PMD_REGISTER_PCI 的原型
  • TXT文件转换pdf格式的java方法