一、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/zh-hant/n/133157.html