微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Silverlight dataGrid产生自动编号

为了让每一行的第一列产生自动编号,我们需要捕获dataGrid1的LoadingRow事件,如 dataGrid1.LoadingRow += new EventHandler<DataGridRowEventArgs>(dataGrid1_LoadingRow);   void dataGrid1_LoadingRow(object sender,DataGridRowEventArgs e) {     int index = e.Row.GetIndex();     var cell = dataGrid1.Columns[0].GetCellContent(e.Row) as TextBlock;     cell.Text = (index + 1).ToString(); } F5运行后点击增加按钮,你会发现数据源中新增的数据已经加入到DataGrid的新行中,并且第一列自动显示了该行的行号。 现在我们开始解决第二个问题,即从数据源删除数据时自动更新所有行号 现在GridView中再自定义一列,每列的显示一个按钮用来删除该条数据 <data:DataGridTemplateColumn>     <data:DataGridTemplateColumn.CellTemplate>         <DataTemplate>             <Button Content="删除" Click="btnDel_Click" />         </DataTemplate>     </data:DataGridTemplateColumn.CellTemplate> </data:DataGridTemplateColumn>   然后在.cs中处理btnDel_Click事件 private void btnDel_Click(object sender,RoutedEventArgs e) {     var btn = sender as Button;     var index = _personList.IndexOf(btn.DataContext as Person);     _personList.RemoveAt(index);     foreach (var item in dataGrid1.ItemsSource) {         var txtBlock = dataGrid1.Columns[0].GetCellContent(item) as TextBlock;         txtBlock.Text = (DataGridRow.GetRowContainingElement(txtBlock).GetIndex() +             1).ToString();     } }

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐