自己涉及到的控件简单使用实例(二)DataGrid

来源:互联网 发布:php exec 不执行 编辑:程序博客网 时间:2024/06/04 19:26

一、DataGrid 列名居中设置

                                <DataGrid.ColumnHeaderStyle>                                    <Style TargetType="DataGridColumnHeader">                                        <Setter Property="HorizontalContentAlignment" Value="Center"></Setter>                                    </Style>                                </DataGrid.ColumnHeaderStyle>

二、DataGrid 界面列内容绑定设置


<DataGrid.Columns >                                    <DataGridTextColumn Header="材料名称" Binding="{Binding Name}" ></DataGridTextColumn>                                    <DataGridTextColumn Header="结存数量" Binding="{Binding Num}" Width="*"></DataGridTextColumn>                                </DataGrid.Columns>

width =“*” 可以消去绑定列内容后最左边的空白列。

Datagrid绑定方式之一:this.datagrid.ItemsSource=list<Model_member>;

 member里面含有多个属性,与列一一对应!

public class Model_member : INotifyPropertyChanged//实现IN..接口,向客户端发出某一属性值已更改的通知。    {       private string name;       private DateTime datetime;       private int? get_num;//此处的?是应用于如果这个Model存放的是从数据库读取过来的数据 可以存储null内容       private int? out_num;       private int num;       private string zhaiyao;       public event PropertyChangedEventHandler PropertyChanged;       public void OnPropertyChanged(string propname)//当绑定数据有改动时触发 同时更新界面绑定数据 绑定方式为 双向绑定! 也存在单向绑定        {           if (this.PropertyChanged != null)           {               PropertyChanged(this, new PropertyChangedEventArgs(propname));           }       }                 public string Name//通常属性大写,字段小写方便区分       {           get { return name; }           set           {               name = value;               this.OnPropertyChanged("Name");  //在此实现接口功能           }           ...}       }


三、Datagrid常用的几个获取表格某行某列的功能
 //开始编辑前触发事件        private void datagridview_BeginningEdit(object sender, DataGridBeginningEditEventArgs e)        {            datagridview_beginedit();//执行的方法        } //编辑完成触发事件        private void datagridview_CellEditEnding(object sender, DataGridCellEditEndingEventArgs e)        {
                  string newValue = (e.EditingElement as TextBox).Text;//获取单元格在编辑模式时的格式 变为textbox 取出其中的text放在变量里面                    Model.Model_member model_save_1 = datagridview2.SelectedItem as Model.Model_member ;//将选中的某行数据放到 model_save_1里面 
//因为 datagrid的绑定方式是list<Model_member>集合,所以这边把选中行 转变成一条Model_member数据
                         //e.column.dispalyindex用于获取发生此事件的单元格所在的列相对于其他列所在的位置
                    byte_send = Send_Command.Send_Data.Send_Data_1(2, model_save_1.Name, e.Column.DisplayIndex, newValue);        }

先更新到这,基本的用到的就这些 深入的我还没研究 一有了解的就来写!继续更新。










 

0 0
原创粉丝点击