setcurrentrow详解

一、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

(0)
MJZPMJZP
上一篇 2024-10-03
下一篇 2024-10-03

相关推荐

发表回复

登录后才能评论