C# datagridview、datagrid、GridControl增加行号代码解析

作者:zls366 时间:2023-02-03 10:42:56 

1、WinForm中datagridview增加行号

在界面上拖一个控件dataGridView1,在datagridview添加行事件中添加如下代码:


private void dataGridView1_RowsAdded(object sender, DataGridViewRowsAddedEventArgs e)
       {
           try
           {
               for (int i = 0; i < dataGridView1.Rows.Count; i++)
                   this.dataGridView1.Rows[i].HeaderCell.Value = (i + 1).ToString();
           }
           catch
           {
               MessageBox.Show("处理异常:表格行标题添加异常");
           }
       }

这样表格中每次有新行增添就会被自动打标行号.

2、WPF中datagrid增加行号

WPF类似WinFormdatagridview的表格控件是datagrid,我们可以将行标题添加代码写在LoadingRow事件中:

①附件事件:

一般是在xmal窗体的cs初始化类中:


DG.LoadingRow += new EventHandler<DataGridRowEventArgs>(DG_LoadingRow);

CM框架mvvm模式下:


[Event LoadingRow]=[DG_LoadingRow($source,$eventArgs)]"

DG_LoadingRow事件如下:


private void DG_LoadingRow(object sender, DataGridRowEventArgs e)
       {
           e.Row.Header = e.Row.GetIndex() + 1;
       }

3、WPF dev控件GridControl增加行号

dev控件GridControl没有行增添增添事件,我们可以用下面的方法去做:

 增加控件引用空间:


xmlns:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid"

<dxg:GridControl Name="grid" AutoGenerateColumns="AddNew">
  <dxg:GridControl.View>
       <dxg:TableView RowIndicatorContentTemplate="{StaticResource rowIndicatorContentTemplate}"/>
  </dxg:GridControl.View>
</dxg:GridControl

定义模板资源:


<UserControl.Resources>
       <DataTemplate x:Key="rowIndicatorContentTemplate">
           <StackPanel VerticalAlignment="Stretch"
                       HorizontalAlignment="Stretch">
               <TextBlock Text="{Binding Path=RowHandle.Value}"
                          TextAlignment="Center"
                          Foreground="Gray"/>
           </StackPanel>
       </DataTemplate>
   </UserControl.Resources>

----------------------------------------------------

来源:https://www.cnblogs.com/zls366/p/15417682.html

标签:C#,datagridview,datagrid,GridControl,行号
0
投稿

猜你喜欢

  • C#线程倒计时器源码分享

    2023-08-16 07:23:36
  • Spring七大事务传递机制深入分析实现原理

    2022-12-21 16:28:37
  • Android中ProgressDialog的dismiss()与cancel()方法的区别

    2021-07-27 04:14:24
  • Unity实现全屏截图以及QQ截图

    2023-07-25 17:12:22
  • Java实现为Word每一页设置不同图片水印的效果

    2023-01-30 07:10:04
  • Android截屏保存png图片的实例代码

    2022-01-26 16:10:11
  • Spring请求参数校验功能实例演示

    2023-04-26 02:05:53
  • C#找出字符串中第一个字母并大写的方法

    2023-08-24 03:43:28
  • Spring Cloud gateway 网关如何拦截Post请求日志

    2022-06-19 03:19:46
  • Android自定义组件跟随自己手指主动画圆

    2022-03-11 10:01:48
  • c#固定长度的随机字符串例子

    2021-10-24 06:11:10
  • 使用Spring Boot AOP处理方法的入参和返回值

    2022-03-02 07:25:41
  • Spring实现动态切换多数据源的解决方案

    2023-05-21 13:07:15
  • SpringBoot @PostConstruct原理用法解析

    2022-02-02 18:05:46
  • Kotlin修饰符lateinit(延迟初始化)案例详解

    2023-08-22 08:21:56
  • java中List接口与实现类介绍

    2022-11-17 02:54:40
  • c#多线程程序设计实例方法

    2023-07-24 16:39:28
  • Java中volatile关键字实现原理

    2023-09-30 14:20:58
  • Android播放assets文件里视频文件相关问题分析

    2021-08-10 20:04:41
  • SpringBoot使用swagger生成api接口文档的方法详解

    2021-10-22 18:11:48
  • asp之家 软件编程 m.aspxhome.com