WPF DataGrid使用 自动显示行号、全选、三级联动、拖拽
来源:互联网 发布:51单片机电机参数 编辑:程序博客网 时间:2024/05/16 01:54
1.DataGrid的使用自动显示行号(修复删除行时行号显示不正确) dgTool.LoadingRow += new EventHandlerDataGridRowEventArgs (dgTool_LoadingRow); dgTool.UnloadingRow += new EventHandlerDataGridRowEventArgs (dgTool_UnloadingRow); void dgTool_LoadingRow( object sender, DataGridRowEventArg
http://www.silverlightchina.net/html/study/WPF/2013/0117/21507.html
1.DataGrid的使用自动显示行号(修复删除行时行号显示不正确)
dgTool.LoadingRow += new EventHandler<DataGridRowEventArgs>(dgTool_LoadingRow); dgTool.UnloadingRow +=new EventHandler<DataGridRowEventArgs>(dgTool_UnloadingRow); void dgTool_LoadingRow(object sender, DataGridRowEventArgs e) { e.Row.Header = e.Row.GetIndex() + 1; } void dgTool_UnloadingRow(object sender, DataGridRowEventArgs e) { dgTool_LoadingRow(sender, e); if (dgTool.Items != null) { for (int i = 0; i < dgTool.Items.Count; i++) { try { DataGridRow row = dgTool.ItemContainerGenerator.ContainerFromIndex(i) as DataGridRow; if (row != null) { row.Header = (i + 1).ToString(); } } catch { } } } }
2.DataGrid新建一行,并为需要的单元格提供默认值
dgTool.InitializingNewItem += new InitializingNewItemEventHandler(dgTool_InitializingNewItem); dgTool.RowEditEnding += new EventHandler<DataGridRowEditEndingEventArgs>(dgTool_RowEditEnding); private void dgTool_InitializingNewItem(object sender, InitializingNewItemEventArgs e) { //这里的实体为你绑定数据源中的实体类型 EntityType newItem = e.NewItem as EntityType; newItem.ID = dgTool.Items.Count - 2; } //这里是为了解决添加完成一行数据之后,行号显示不正确(当然还可以做其他操作) void dgTool_RowEditEnding(object sender, DataGridRowEditEndingEventArgs e) { if (dgTool.Items != null) { for (int i = 0; i < dgTool.Items.Count; i++) { try { DataGridRow row = dgTool.ItemContainerGenerator.ContainerFromIndex(i) as DataGridRow; if (row != null) { row.Header = (i + 1).ToString(); } } catch { } } } }
3.DataGrid实现全选和单选
1)DataGrid绑定数据实体类Entity
public class Entity : INotifyPropertyChanged { //标记是否删除 private bool isChecked = false; public bool IsChecked { get { return isChecked; } set { isChecked = value; NotifyPropertyChanged("IsChecked"); } } //序号 private int id = 0; public int ID { get { return id; } set { id = value; NotifyPropertyChanged("ID"); } } public event PropertyChangedEventHandler PropertyChanged; public void NotifyPropertyChanged(string propertyName) { PropertyChangedEventHandler handler = PropertyChanged; if (handler != null) { handler(this, new PropertyChangedEventArgs(propertyName)); } } }
2)前台界面XAML
<DataGrid x:Name="dgTool" Grid.Row="2" SelectionChanged="dgTool_SelectionChanged" RowHeaderWidth="50" FontFamily="Microsoft YaHei" FontSize="16" FontWeight="Normal" SelectionMode="Single" AutoGenerateColumns="False" CanUserAddRows="True" CanUserDeleteRows="True" IsReadOnly="False" CanUserSortColumns="False" AlternatingRowBackground="LightGray"> <DataGrid.ColumnHeaderStyle> <Style TargetType="DataGridColumnHeader"> <Setter Property="HorizontalContentAlignment" Value="Center"> </Setter> </Style> </DataGrid.ColumnHeaderStyle> <DataGrid.Columns> <DataGridTemplateColumn> <DataGridTemplateColumn.Header> <CheckBox Name="selectAll_checkBox" Content="全选" IsThreeState="True" HorizontalAlignment="Center" Click="selectAll_checkBox_Click" /> </DataGridTemplateColumn.Header> <DataGridTemplateColumn.CellTemplate> <DataTemplate> <CheckBox Name="select_checkBox" IsChecked="{Binding Path=IsChecked}" Click="select_checkBox_Click"/> </DataTemplate> </DataGridTemplateColumn.CellTemplate> </DataGridTemplateColumn> <DataGridTextColumn Header="ID" Width="*" Binding="{Binding Path=ID}"/> </DataGrid.Columns> </DataGrid>
- WPF DataGrid使用 自动显示行号、全选、三级联动、拖拽
- WPF DataGrid使用 自动显示行号、全选、三级联动、拖拽
- WPF DataGrid使用 自动显示行号、全选、三级联动、拖拽
- C# WPF DataGrid控件实现三级联动
- DataGrid控件自动显示行号
- Flex4 DataGrid自动显示行号
- WPF三级联动
- WPF DataGrid 绑定DataSet数据 自动生成行号
- WPF datagrid 全选全不选
- WPF datagrid 全选全不选
- DataGrid添加自动行号
- WPF使用MVVM完成DataGrid数据绑定带全选
- WPF中DataGrid实现全选
- 省市县三级联动显示
- WPF ListView控件中CheckBox全选联动
- wpf datagrid显示数据
- vim自动显示行号
- wpf DataGrid CheckBox 变相的全选
- C技巧:结构体参数转成不定参数
- 星号图(2)
- Documentation\arm\firmware
- java Array 和 List之间相互转化
- 面向对象相关知识
- WPF DataGrid使用 自动显示行号、全选、三级联动、拖拽
- Ext4.1grid单元格合并的解决方案
- Notes使用技巧攻略连载之一——软回车
- Myeclispe安装插件步骤(适用多款插件)
- PHP正则匹配换行符
- Java开闭原则
- Debian下Eclipse安装pydev cdt
- 递归算法详细分析-> C
- Android 图片的浏览、缩放、拖动和自动居中