DataGridView的使用

来源:互联网 发布:mysql登录 编辑:程序博客网 时间:2024/05/19 20:40

DataGridView是微软.net2005的新功能,是对DataGrid的扩展,主要实现DataTable中数据的显示功能,他与DataTable有着不可分割的联系。

DataGridView的常用功能及总结:
1.实例化 this.drugListDataGridView = new System.Windows.Forms.DataGridView();
this.drugListDataGridView.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { this.Column3 });
              //
            // Column3
            //
            this.Column3.AutoSizeMode = System.Windows.Forms.DataGridViewAutoSizeColumnMode.DisplayedCells;
            this.Column3.HeaderText = "编号";
            this.Column3.Name = "Column3";
            this.Column3.ReadOnly = true;
            this.Column3.Width = 54;
可以调整Column的大小和列的位置。
2.为DataGridView加载数据以及属性设置
this.drugListDataGridView.AutoGenerateColumns = false;//自动加载表头属性
            this.drugListDataGridView.DataSource = this.xT_XY_DrugLibrary;
            this.Column3.DataPropertyName = this.xT_XY_DrugLibrary.Columns[0].ColumnName;
this.drugListDataGridView.AutoResizeColumns();
            this.drugListDataGridView.AutoResizeRows();
            this.drugListDataGridView.SelectionMode = DataGridViewSelectionMode.FullRowSelect;//是否选择整行
            this.drugListDataGridView.AllowUserToResizeColumns = false;//用户调整列的大小属性
            this.drugListDataGridView.AllowUserToResizeRows = false;//用户调整行的大小属性
            this.drugListDataGridView.RowHeadersWidth = 28;//行头的宽度
            this.drugListDataGridView.AllowUserToOrderColumns = false;//是否可以调整列的位置的属性
            this.drugListDataGridView.Sort(this.Column4, System.ComponentModel.ListSortDirection.Ascending);//对指定的列进行排序显示
3.对于DataGridView中的数据操作
a.添加
DataRow newRow = this.xT_XY_DrugLibrary.NewRow();
this.xT_XY_DrugLibrary.Rows.Add(newRow);通过控制引用,自动就会更新DataGridView界面信息。
b.删除
int recordSN=(int)this.drugTypeListDataGridView.SelectedRows[0].Cells[0].Value;//当前选择的记录的真实索引号,这个真实信息需要提交给数据库
System.Console.WriteLine("删除分类:数据库中的真实索引号:"+recordSN);
this.drugTypeListDataGridView.Rows.RemoveAt(this.curRow);
c.修改
this.drugListDataGridView.Rows[this.curRow].Cells[1].Value = "22222";
d.过滤
string sql = this.xT_XY_DrugLibrary.Columns[10].ColumnName + " ="+(int)this.drugTypeListDataGridView.SelectedRows[0].Cells[0].Value;
            DataView view = this.xT_XY_DrugLibrary.DefaultView;
            view.RowFilter = sql;
            this.drugListDataGridView.DataSource = view;
e.查找匹配
string sql = "FJSN=" + RecordSN;
DataRow[] objRow = dataTable.Select(sql);
在通过控制循环把DtaRow[]中的信息添加到新的DataTable中去。
f.得到某一行的真实值
this.drugTypeListDataGridView.SelectedRows[0].Cells[0].Value
this.drugListDataGridView.Rows[this.curRow].Cells[1].Value
g.选中某一行
this.drugListDataGridView.CurrentCell = this.drugListDataGridView[0, e.RowIndex];
this.drugListDataGridView.Rows[rowIndex].Selected = true;
h.增行选定
this.dataGridView2.SelectionMode = DataGridViewSelectionMode.FullRowSelect;//是否选择整行
i.排序
this.zyListDataGridView.Sort(this.Column5, ListSortDirection.Ascending);
总结:
在用DataTable初始化DataGridView的时候,最好不要在重新为DataGridView初始化数据。可以实现添加,控制DataTalbe.addRow(),这个操作能够直接表现在界面上,对于删除、修改、筛选操作,只需要操作DataGridView就可以了(只要保证不再次进行DataGridView.DataSource()=dataTabl操作,界面上的显示都是我们实际对DataGridView操作的效果,所以我们就可以不用考虑在对dataTable中的数据进行操作了,在对DataGridView操作的同时我们要得到真实的数据信息,如:ID,目的是为了将这些真实的信息递交给数据库,实现数据库的真实操作),通过这个紧紧操作DataGridView就能够实现我们想要的界面效果,我们就能够躲避掉界面出现排序后与dataTable中顺序不匹配,无法同步的问题了。 
原创粉丝点击