C# datagridview、datagrid、GridControl增加行号

01

 

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("处理异常:表格行标题添加异常");
            }
        }

  

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

 

02

 

WPF中datagrid增加行号

WPF类似WinForm中datagridview的表格控件是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;
        }

  

03

 

WPF dev控件GridControl增加行号

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

 

增加控件引用空间

xmlns:dxg="//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>

  

—————————————————-

以上就是本节的全部内容,如果感觉有用,请多多的点击在看和分享,需要进技术交流群的,请加小编微信zls20210502,切记备注 进群

 

Tags: