DataGridView的列编辑:

Name:用于调用属性的时候用的,也可以不使用Name去调用,选择数字1,2,3...选择第1列,第2列,第3列。

HeaderText:表头显示的名字方便用户使用。

DataPropertyName:该列与绑定的表的哪个属性对应。一般情况编辑的列与绑定的表属性名一一对应。

单击事件:click。

双击事件:doubleclick。

获取当前所在行并获取当前行某一列:

   int RowIndex = goodsdataGridView.CurrentCell.RowIndex;   //获取当前第几行

      goodsdataGridView.Rows[RowIndex].Cells[0].Value.ToString();   //cell[0]表示第0列,

      可以用数字表示,但可能会乱序,最好在列编辑中给列的Name属性赋值如取叫ID,然后用这个名

      字引用如goodsdataGridView.Rows[RowIndex].Cells["ID"].Value.ToString();   

DataTable:

创建一张表: DataTable goodslist = new DataTable();

为这张表添加列名(属性名):goodslist.Columns.Add("name1");

为这张表添加数据:DataRow dr = goodslist.NewRow();  dr["name1"] = "name";

将这张表绑定到DataGridView:  dataGridView1.DataSourse=goodslist;

如果这张表的属性名和DataGridView的列名相同的话,会自动匹配到已编辑的列,否则会创新列出来,表头的名字和列名一样。

 

DataSet:

将DataTable放入DataSet: goodslist.TableName="table1"; DataSet ds=new DataSet();  ds.Table.Add(goodslist.copy());

将DataTable从DatatSet中取出:DataTable dt = ds.Tables["table1"];

DataRow:

判断一张DataTable里面每一行的状态(修改,删除,新增):

foreach (DataRow datarow in dataset.Tables["master"].Rows)
                {
                    switch (datarow.RowState)
                    {
                        case DataRowState.Modified:
                            {
                                if (datarow[1, DataRowVersion.Current] != datarow[1, DataRowVersion.Original])
                                {

                                }
                                break;
                            }
                        case DataRowState.Added:
                            {
                                break;
                            }
                        case DataRowState.Deleted:
                            {

                                break;
                            }
                }