一、setcurrentrow(-1)设置当前行
setcurrentrow(-1)函数用于设置当前行为最后一行,该函数会改变当前行指针。在数据表上操作时,当前行指的是用户当前正在操作的行。该函数最为常用。
DataTable dt = new DataTable(); dt.Rows.Add("Tina", 20, "female"); dt.Rows.Add("Alex", 21, "male"); dt.Rows.Add("Tom", 22, "male"); dt.SetCurrentRow(-1); // 设置当前行为最后一行 Console.WriteLine(dt.Rows[2][0]); // 输出Tom
二、setcurrentrow(0)设置当前行
setcurrentrow(0)函数用于设置当前行为第一行,该函数会改变当前行指针。在数据表上操作时,当前行指的是用户当前正在操作的行。
DataTable dt = new DataTable(); dt.Rows.Add("Tina", 20, "female"); dt.Rows.Add("Alex", 21, "male"); dt.Rows.Add("Tom", 22, "male"); dt.SetCurrentRow(0); // 设置当前行为第一行 Console.WriteLine(dt.Rows[0][0]); // 输出Tina
三、setcurrentrow(int rowIndex)设置当前行
setcurrentrow(int rowIndex)函数用于设置当前行,该函数会改变当前行指针。在数据表上操作时,当前行指的是用户当前正在操作的行。
DataTable dt = new DataTable(); dt.Rows.Add("Tina", 20, "female"); dt.Rows.Add("Alex", 21, "male"); dt.Rows.Add("Tom", 22, "male"); dt.SetCurrentRow(1); // 设置当前行为第二行 Console.WriteLine(dt.Rows[1][0]); // 输出Alex
四、setcurrentrow()更改当前行
setcurrentrow()函数用于更改当前行指针。在数据表上操作时,当前行指的是用户当前正在操作的行。该函数并没有传入参数,而是通过DataViewRowState枚举类型来更改当前行。
DataTable dt = new DataTable(); dt.Rows.Add("Tina", 20, "female"); dt.Rows.Add("Alex", 21, "male"); dt.Rows.Add("Tom", 22, "male"); DataView dv = new DataView(dt); dv.RowStateFilter = DataViewRowState.ModifiedCurrent; dv[0].BeginEdit(); dv[0][1] = 23; dv[0].EndEdit();// 更改当前行 Console.WriteLine(dt.Rows[0][1]); // 输出23
五、setcurrentrow()与数据绑定
setcurrentrow()函数常用于数据绑定的时候,例如绑定到DataGrid控件中。用户在DataGrid中操作时,当前操作的行就是当前行。当用户编辑完毕后,通过调用DataGrid.EndEdit()方法或者DataGrid.CancelEdit()方法,也会改变当前行。
dataGridView1.DataSource = dt; dataGridView1.EndEdit(); // 结束编辑模式,改变当前行 Console.WriteLine(dt.Rows[0][1]); // 输出23
原创文章,作者:MJZP,如若转载,请注明出处:https://www.506064.com/n/133157.html