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="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>