程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> 關於C# >> GridView控件 System.NullReferenceException

GridView控件 System.NullReferenceException

編輯:關於C#
 

錯誤名稱:

       System.NullReferenceException: Object reference not set to an instance of an object.          at 命名空間.類名.gridView1_FocusedRowChanged(Object sender, FocusedRowChangedEventArgs e) 代碼: //刪除操作        private void Btn_sc_Click(object sender, EventArgs e)         {                 if (gridView1.FocusedRowHandle > -1)                 {                     string str = "delete from 表名 where 列名='" + CurrentRow[" 列名"].ToString() + "'";                         執行sql的函數                      this.Browse();                     MessageBox.Show("刪除成功");                 }         } //刷新界面        private void Browse()         {             string str = "select * from 表名";             ds=執行sql獲取ds的函數;             gridControl1.DataSource = ds.Tables[0].DefaultView;         }   //獲取行變化        private void gridView1_FocusedRowChanged(object sender, DevExpress.XtraGrid.Views.Base.FocusedRowChangedEventArgs e)         {             if (gridView1.FocusedRowHandle > -1)             {                     if (CurrentRow["列名"].ToString() != null )                     {                       //單步調試的時候,提出錯誤出在CurrentRow["列名"]                     }             }         } System.NullReferenceException - Complaint Free Wolrd - Complaint Free Wolrd  在刪除的時候先刪除編號為8的那一行時就會報錯,當先刪除編號為2的那行就不報錯。即按照紅色箭頭方向進行刪除就會報錯!(將刪除函數中的  this.Browse();注釋掉後就不再報錯) 解決對策:         private void Btn_sc_Click(object sender, EventArgs e)         {                 if (gridView1.FocusedRowHandle > -1)                 {                    string str = "delete from 表名 where 列名='" + CurrentRow[" 列名"].ToString() + "'";                        執行sql的函數                     //下面這行在刪除數據後同時將數據在ds中的編號刪除                      //此處的ds就是刷新界面中的那個ds                     ds.Tables[0].Rows.RemoveAt(gridView1.FocusedRowHandle);                     //刷新                     gridView1.RefreshRow(gridView1.FocusedRowHandle);                     MessageBox.Show("刪除成功");                 }         }     小注:在此處用到刷新界面的兩種方式,一種是重新綁定,另一種是解決對策中的做法   
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved