首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何更新DataGrid (WPF)中的行号?

在WPF中更新DataGrid中的行号可以通过以下步骤实现:

  1. 创建一个新的列来显示行号。可以使用DataGrid的AutoGeneratingColumn事件来动态添加列。在事件处理程序中,判断生成的列是否为第一列,如果是,则创建一个新的DataGridTextColumn,并设置其Header为"行号",Binding为行的索引。
代码语言:txt
复制
private void DataGrid_AutoGeneratingColumn(object sender, DataGridAutoGeneratingColumnEventArgs e)
{
    if (e.Column.DisplayIndex == 0)
    {
        DataGridTextColumn column = new DataGridTextColumn();
        column.Header = "行号";
        column.Binding = new Binding("DataGridRow.Header");
        e.Column = column;
    }
}
  1. 在DataGrid的Loaded事件中,为每一行设置行号。可以使用DataGrid的LoadingRow事件来为每一行设置行号。在事件处理程序中,获取当前行的索引,并将其赋值给行的Header属性。
代码语言:txt
复制
private void DataGrid_LoadingRow(object sender, DataGridRowEventArgs e)
{
    e.Row.Header = (e.Row.GetIndex() + 1).ToString();
}
  1. 在XAML中,将AutoGeneratingColumn和LoadingRow事件与DataGrid绑定。
代码语言:txt
复制
<DataGrid x:Name="dataGrid" AutoGeneratingColumn="DataGrid_AutoGeneratingColumn" LoadingRow="DataGrid_LoadingRow">
    <!-- DataGrid的其他设置 -->
</DataGrid>

这样,当DataGrid加载数据时,每一行都会显示对应的行号。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

WPF DataGrid 如何将被选中行带到视野

WPF DataGrid 如何将被选中行带到视野 目录 前言 准备工作 方法一 方法二 总结 独立观察员 2021 年 12 月 11 日 前言 在 WPF 开发,显示表格一般使用 DataGrid...而还有一种情况,我们可能在业务逻辑,由程序自己选中了某一行,如果这一行当前不在用户界面的可视区(换句话说也就是滚动条没有滚到那个位置),那么我们如何将其带到用户视野呢?...使用还是之前用过 DataGrid Demo 程序(在《WPF DataGrid 通过自定义表头模拟首行固定》和《WPF 触屏事件后触发鼠标事件问题及 DataGrid 误触问题》中用过),加了一个可以填写要选中行号文本框...方法一 这个方法是参考《【翻译】WPF 附加行为介绍 Introduction to Attached Behaviors in WPF》文章将 TreeViewItem(树状列表项)带到视野方法...总结 关于将 DataGrid 选中行带到视野需求,本文介绍了两种方法。方法一提供了一个附加属性,可以方便地实现该需求,不过要求不能开启行虚拟化。

1.9K10
  • WPF --- 如何以Binding方式隐藏DataGrid

    引言 如题,如何以Binding方式动态隐藏DataGrid列?...那为什么 DataGridTextColumn 不在可视化树呢? 可视化树(Visula Tree) 在上面那个问题之前,先看看什么是可视化树? 我们先从微软文档来看一下WPF其他控件继承树。...比如 Button 比如 DataGrid : 又比如 ListBox : 大家可以去看看其他控件,几乎 WPF 中所有的控件都继承自 Visual(例如,Panel、Window、Button 等都是由...Visual 是 WPF 可视化对象模型基础,而 Visual 对象通过形成可视化树(Visual Tree)来组织所有可视化模型。...如果大家有更优雅方案,欢迎留言讨论。 ❝参考 stackoverflow - how to hide wpf datagrid columns depending on a propert?

    47610

    如何在VimVi显示行号

    除了标准绝对行编号之外,Vim还支持相对行和混合行编号模式。 绝对行号 绝对行号是标准行号,它在每行文本旁边显示适当行号。 要激活行编号,请设置数字标志: 按Esc键切换到命令模式。...相对行模式非常方便,因为Vim许多操作(例如上/下移动和删除行)都作用于相对行号。 例如,要删除光标下方后十行,可以使用d10j命令。启用相对行号后,你将可以更好地直观查看代码。...混合行号 在Vim 7.4及更高版本,同时启用绝对行号和相对行号会设置混合行号模式。 混合行编号与相对行编号相同,唯一区别是当前行而不是显示0表示其绝对行号。...永久设置 如果希望每次启动Vim时都显示行号,请在.vimrc(Vim配置文件)添加适当命令。...例如,要启用绝对行编号,应添加以下内容: > vim ~/.vimrc :set number 结论 要在Vim显示行号,请使用:set number命令表示绝对行号,使用:set relativenumber

    3.5K10

    C# 修改配置文件进行窗体logo切换

    以下文章来源于CSharp编程大全 ,作者zls20210502 01 — 前言:题外的话 大家可能发现这个号现在原创越来越少了,其实小编并没有放弃持续更新,只是把一手原创放到了 【dotnet...编程大全】这个号了,那个号目前原创主要更新wpf mvvm方面的知识,框架用Caliburn.Micro,关于这个框架介绍,不了解自行百度。...有兴趣学习可以关注: 相关经典原创文章链接:点击可以查看原文 C# WPF框架Caliburn.Micro快速搭建 C# WPF框架Caliburn.Micro入门实例1 C# WPF MVVM...# 通过正则表达式来限制控件输入有效性 C# datagridview、datagrid、GridControl增加行号 C# =>符号使用 C# 无意间写了一段线程死锁代码 C# 看懂这100...+行代码,你就真正入门了(经典) C# WPF项目实战(经典) WPF 如何修改button圆角(经典) WPF XAML 为项目设置全局样式 02—主窗体 String title = LogoConfig.GetLogoConfig

    1.2K00

    Linux小技巧:如何在 Vim 显示行号

    在 Vim 显示绝对行号 在几乎所有 IDE 中都可以找到绝对行号,它以 1 开始,以最后一行编号结束。 而且,有两种方法可以实现这一点。 从活动 Vim 会话设置选项 确保您处于命令模式。...在 Vim 显示相对行号 当您启用了相对行号时,这意味着您当前所在行是行号 0,并且光标上方和下方行连续编号为 1、2、3。...这特别有用,因为上下移动光标 x 行数变得更容易,您不必进行从行号减去当前行号心算,您可以轻松地转到 Vim 特定行。 从活动 Vim 会话显示 Vim 相对行号 确保您处于命令模式。...如果已经切换了相对行号,设置此选项将禁用相对行号。 在 Vim 总是显示相对行号 您尝试了相对行号,并且您喜欢它。...您想知道如何使这种更改永久化,而不是每次打开 Vim 时都输入 ':set relativenumber'。 要使其永久化,您需要在用户 'vimrc' 文件设置此选项。

    11.1K00

    C# WPF DataGrid获取单元格并改变背景色

    01 概述 WPF 自带了一个表格控件datagrid,这个控件类似winfromdatagridview,在数据显示时候也经常会用到,这节主要讲解如何从后台代码获取到单元格控件并改变其相关属性:...DataGridCellEditEndingEventArgs e) { } /// /// 获取父可视对象第一个指定类型子可视对象...> 04 解析 ① 因为我需要绑定SelectedCellsChanged事件,所以前台将默认行选中模式修改为单元格选中模式: SelectionMode="...;//获取选中单元格列号 ④获取选中行行号 在SelectionUnit="FullRow" 时候: 可以通过这样获取: rowindex = this.dgSourceData.SelectedIndex...;//获取选中单元格行号 在当SelectionUnit="Cell"时: 我是通过选中单元格对应行信息和表格控件绑定集合匹配获取行号: for (int i = 0; i < ShellViewModel.StudentList.Count

    2.7K20

    【我们一起写框架】MVVMWPF框架(四)—DataGrid

    在实战架构,并不是UI东西都一定要放在UI层写,逻辑东西放在逻辑层写。因为,架构目的是让程序员更好写代码,而不是让代码死死固定在某一层。...所以,我们在编写框架时,设计模式该切割东西,就不要犹豫切割。因为,架构师是设计模式使用者,而不是被使用者。...DataGrid数据控件 DataGrid数据控件可以说是数据控件精髓了,因为DataGrid相对复杂,不像其他数据控件那样功能单一。...DataGrid中级应用 我们在上面的代码可以看到,DataGrid数据控件还包含了分页功能。那么如何实现分页功能呢。 很简单,我们只需要在Xaml页面多绑定几个属性即可实现。...框架代码已经传到Github上了,并且会持续更新

    1.2K20

    C# WPF MVVM模式Caliburn.Micro框架下事件发布与订阅

    01 前言 处理同模块不同窗体之间通信和不同模块之间不同窗体通信,Caliburn提供了一种事件机制,可以在应用程序中低耦合模块之间进行通信,该机制基于事件聚合器服务,允许发布者和订阅者之间通过事件进行通讯...Caliburn事件聚合器,这玩意实现原理是观察者模式,观察者模式也就是常说发布/订阅模式。...WPF MVVM项目实战(进阶①) C# WPF MVVM项目实战(进阶②) C# WPF框架Caliburn.Micro快速搭建 C# WPF项目实战 C# WPF mvvm模式下combobox绑定...C# WPF文本框TextEdit不以科学计数法显示 C# 通过正则表达式来限制控件输入有效性 C# datagridview、datagrid、GridControl增加行号 C# =>符号使用...C# 无意间写了一段线程死锁代码 C# 看懂这100+行代码,你就真正入门了(经典) C# WPF项目实战(经典) WPF 如何修改button圆角(经典) WPF XAML 为项目设置全局样式

    1.8K10

    C# WPF MVVM模式Prism框架下事件发布与订阅

    01 前言 处理同模块不同窗体之间通信和不同模块之间不同窗体通信,Prism提供了一种事件机制,可以在应用程序中低耦合模块之间进行通信,该机制基于事件聚合器服务,允许发布者和订阅者之间通过事件进行通讯...Prism事件聚合器,这玩意实现原理是观察者模式,观察者模式也就是常说发布/订阅模式。...WPF MVVM项目实战(进阶①) C# WPF MVVM项目实战(进阶②) C# WPF框架Caliburn.Micro快速搭建 C# WPF项目实战 C# WPF mvvm模式下combobox绑定...C# WPF文本框TextEdit不以科学计数法显示 C# 通过正则表达式来限制控件输入有效性 C# datagridview、datagrid、GridControl增加行号 C# =>符号使用...C# 无意间写了一段线程死锁代码 C# 看懂这100+行代码,你就真正入门了(经典) C# WPF项目实战(经典) WPF 如何修改button圆角(经典) WPF XAML 为项目设置全局样式

    3.2K20

    学习WPF——了解WPFXAML

    XAML简单说明 XAML是用于实例化.NET对象标记语言,主要用于构建WPF用户界面 XAML每一个元素都映射为.NET类一个实例,例如映射为WPFButton对象...Application 用于定义应用程序资源和启动设置 任何一个XAML文档只能拥有一个顶级元素 属性 窗口标签Title、Height、Width都是窗口属性 在XAML文件属性类型总是字符串...如果我们在第三方组件定义了Window类,如果没有一个名称空间做限定的话, 编译器不知道我们将使用哪个Window类型来渲染窗口 我们在上面的代码,看到了两个名称空间,一个是WPF核心名称空间、...附加属性 对于嵌套元素,子元素可以使用父元素定义一些属性,这类属性就是附加属性 在WPF附加属性多用于布局 修改记录 2015-1-5:完成全部内容 参考资料 《Pro...WPF 4.5 in C# 4th Edition》 MSDN 备注 本篇只简单介绍了XAML常见知识,还有一些不常见知识、高级主题暂时没有涉及

    1.9K70

    WPF面试题大全,秒杀面试官必备

    试题 1、什么是WPF? 2、WPF由哪两部分组成? 3、如何理解WPF体系结构? 4、在WPFBinding作用及实现语法? 5、解释什么是依赖属性,它和以前属性有什么不同?...12、C#表单界面上,有一个DataGrid控件,如何将SQL数据库里一个表数据显示在这个控件上,请描述一下操作方法及步骤 ? 13、解释完整WPF对象层次结构 ?...答:在WPF,Binding是一种用于将数据与用户界面元素关联起来功能。它可以将数据源值绑定到用户界面元素属性,从而使数据源值自动更新到用户界面元素。...12、C#表单界面上,有一个DataGrid控件,如何将SQL数据库里一个表数据显示在这个控件上,请描述一下操作方法及步骤 ? 答:首先,确保已经建立了与SQL数据库连接。...这将使DataGrid显示查询结果数据。 运行应用程序,DataGrid控件将显示来自SQL数据库表数据。 以上代码仅供参考,根据项目的实际情况来调整。 13、解释完整WPF对象层次结构 ?

    73010

    WPF备忘录(3)如何Datagrid 获得单元格内容与 使用值转换器进行绑定数据转换IValueConverter

    一、如何Datagrid 获得单元格内容    DataGrid 属于一种 ItemsControl, 因此,它有 Items 属性并且用ItemContainer 封装它 items. ...但是,WPFDataGrid 不同于Windows Forms DataGridView。 ...在DataGridItems集合,DataGridRow 是一个Item,但是,它里面的单元格却是被封装在 DataGridCellsPresenter 容器;因此,我们不能使用 像DataGridView.Rows.Cells...但是,在WPF我们可以通过可视树(VisualTree) 去进入到控件“内部“, 那么,我们当然可以通过VisualTree进入DataGridDataGridRow 和 DataGridCellsPresenter...比如我项目名字为自动更新,用local作为空间名称前缀 xmlns:local="clr-namespace:命名空间" 为了使用更方便,我们在Resources集合创建一个转换器对象 <Window.Resources

    5.5K70

    「原创」如何快速获取银行、联行号数据?

    由于做是POS前置交易系统,涉及到和商户进件以及交易相关业务,需要向上游支付机构上送“联行号”,但是由于系统内数据不全,经常出现找不到银行或者联行号有误等情况,导致无法进件。   ...输入联行号,然后选择查询方式,点击开始查询就可以。但是呢,结果页面一闪而过,然后被广告页面给覆盖了,这个时候就非常你手速了。对于这样,自然是难不倒我。...先输入联行号进行查询,然后进去详情页,才能取到想要数据。所以第一步需要先获取查询接口,于是我又打开了熟悉控制台。 ?   ...剩下两个网站相对比较简单,只需要更改相应行号,进行请求就可以获取到相应数据,所以这里不过多赘述。 爬虫编写   经过上面的分析了,已经取到了我们想要接口,可谓是万事俱备,只欠代码了。...比较下来其他两个就比较简单,直接替换联行号就可以了,还有就是这个三个网站也没啥反扒机制,所以很轻松就拿到了数据。

    3.9K60

    C# WPF数据绑定方法以及重写数据模板后数据绑定

    写在前面 本文将会介绍WPF如何实现前后端数据绑定和在进行数据绑定时常用方法和类以及对于DataGrid、ListView这样控件重写数据模板后控件如何进行数据绑定。...---- 一、实现前后端数据绑定: 说到前后端数据绑定,就需要先说一下WPFMVVM设计模式,它是由传统MVC设计模式改进而来,不同点在于MVVM数据源更新不需要一个Controller控制器来向前台同步数据...3.数据模板重写:在本实例重写了DataGrid控件电话一列和删除一列数据模板,我们可以看到电话一列重写为了TextBox删除一列重写为了Button,表头也可以进行数据模板重写。...4.双向绑定:顾名思义绑定是双向,不仅仅是后台数据更新后自动同步到前台,同时前台数据更新也会自动同步到后台。...以上就是本实例涉及一些要点,这些内容是做WPF和C#开发基本内容,希望他们能对你学习和工作起到一些帮助,如果对于本文某些用法写法说法有任何意见欢迎指正交流。谢谢。

    63140

    WPF 触屏事件后触发鼠标事件问题及 DataGrid 误触问题

    WPF 触屏事件后触发鼠标事件问题及 DataGrid 误触问题 目录 一、触屏事件连带触发鼠标事件问题 二、DataGrid 误触问题及解决方法 独立观察员 2021 年 10 月 10 日 一、...注意,本文将在上篇文章《WPF DataGrid 通过自定义表头模拟首行固定》示例程序基础上进行演示,建议先看看那篇文章。下面开始改造。...带有 Preview 前缀是隧道事件(可视为在事件前触发),没有的是冒泡事件(可视为在事件后触发,此处省略)。 那么如何去除触屏事件后连带引发鼠标事件影响呢?...然而,本次我实际上是要解决一个 DataGrid 表格在触屏下误触问题,相关业务逻辑是在行改变事件(转为命令了),本来是没有写 PreviewTouchDown 和 PreviewMouseDown...另外,之前说过弹窗点击是的情况下,后续没有误触现象,所以也有理由怀疑是从代码改变了选中项(已绑定到 DataGrid 选中项)所以会有这个问题。

    2.8K10
    领券