WPF datagrid 自动添加自增序号的两种方式

方法1

自己写循环语句实现,我是先把查询出的数据放到datatable中,然后遍历,添加列号,最后一次性绑定到datagrid上

后台代码片

下面展示一些 内联代码片

// A code block
var foo = 'bar';
// 自动添加列seq
var foo = 'bar';
if(dt.Rows.Count > 0)
{
 if (!dt.Columns.Contains("seq"))
                    dt.Columns.Add("seq");
                int index = 1;
                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    dt.Rows[i]["seq"] = index++;
                }
}

绑定数据代码片

下面展示一些 内联代码片

// 绑定到datagrid
// An highlighted block

if(dtOrder != null && dtOrder.Rows.Count > 0)
{
 this.gdView.ItemsSource = dt.DefaultView;

}

前台代码片

下面展示一些 内联代码片

// A code block
var foo = 'bar';
// LoadingRow="gdView_LoadingRow"这句不用加

<DataGridTextColumn Binding="{Binding seq}" CanUserSort="False"  FontSize="20" Header="序号" IsReadOnly="True" Width="100"/>

方法2

利用控件本身的事件实现

后台代码片

下面展示一些 后台代码片

// 
// 
var foo = 'bar';
    /// <summary>
        /// 自动添加序号的方法
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void gdView_LoadingRow(object sender, DataGridRowEventArgs e)
        {
             e.Row.Header = e.Row.GetIndex() + 1;
        }

前台代码片

下面展示一些 代码片
LoadingRow="gdView_LoadingRow"就是自增事件,数据绑定完成之后自动触发

// LoadingRow="gdView_LoadingRow"就是自增事件

// LoadingRow="gdView_LoadingRow"就是自增事件
 <DataGrid x:Name="gdView" HorizontalAlignment="Left" VerticalAlignment="Top" 
                          RenderTransformOrigin="-0.75,-0.231" FontSize="29.333" AutoGenerateColumns="False" 
                          IsReadOnly="True" CanUserResizeColumns="False" CanUserResizeRows="False" SelectionMode="Single" 
                          CanUserReorderColumns="False" AlternationCount="2" RowHeaderWidth="0" CanUserAddRows="False"
                          EnableColumnVirtualization="True" Canvas.Left="8" Canvas.Top="10" Height="800" Width="1880" LoadingRow="gdView_LoadingRow">
                    <DataGrid.Columns>
                         <DataGridTextColumn Binding="{Binding Header, RelativeSource={RelativeSource AncestorType={x:Type DataGridRow}, Mode=FindAncestor}}" CanUserSort="False"  FontSize="20" Header="序号" IsReadOnly="True" Width="100"/>
                         
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值