none
請問Datagridview Insert 的問題。 RRS feed

  • 問題

  • sql="Select * from abc where 1=0 " 只是為了取得欄位而已
    da.fill(ds,"abc") 然我 把資料填到我的dataset
    dv.source=ds 我把datagridview的datasource 指向這個dataset

    我有一個textbox ,當onchange事件發生時,需要將datagridview 新增一列,並將資料填入
    此事件的第一行程式碼:
    dv_Sale.Rows.Insert(dv_Sale.CurrentRow.Index + 1)
    但是出現例外事件
    攔截到 System.NullReferenceException
      Message="並未將物件參考設定為物件的執行個體"
      Source="PCK002" (我這隻程式的名子)
      StackTrace:
           於 PCK002.fmCK002.tb_testchange_TextChanged(Object sender, EventArgs e) 於 E:\test\PCK002\PCK002\fmCK002.vb: 行 228
      InnerException:


    我還不太熟datagridview的操作,所以我不太曉得該怎麼去抓問題。
    謝謝幫忙

     

    2009年10月1日 上午 05:28

解答

  • Hi!

    想詢問一下您這行程式

    dv_Sale.Rows.Insert(dv_Sale.CurrentRow.Index + 1)

    您 Insert 時除了給插入的位置外,好像沒有看到要插入的資料 (DataRow)

    可以參考

    DataGridView.Rows 屬性
    http://msdn.microsoft.com/zh-tw/library/system.windows.forms.datagridview.rows.aspx

    例如

    this.dataGridView1.Rows.Insert(0, "one", "two", "three", "four");


    .NET菜鳥自救會 http://www.dotblogs.com.tw/chou/
    • 已標示為解答 裘裘 2009年10月1日 上午 06:05
    2009年10月1日 上午 05:52
    版主
  • 並未將物件參考設定為物件的執行個體----------指的是某個物件為null
    錯誤訊息已經說是228行了,您就只要到228行去檢查是哪個物件沒有初始化就行了
    • 已標示為解答 裘裘 2009年10月1日 上午 06:05
    2009年10月1日 上午 05:55

所有回覆

  • 感覺上好像我沒有把dataset 的模式設定成「編輯」 ... ~ 怎麼讓他變成編輯模式呢 (我不想要搭配BindingNavigator 的元件)
    2009年10月1日 上午 05:49
  • Hi!

    想詢問一下您這行程式

    dv_Sale.Rows.Insert(dv_Sale.CurrentRow.Index + 1)

    您 Insert 時除了給插入的位置外,好像沒有看到要插入的資料 (DataRow)

    可以參考

    DataGridView.Rows 屬性
    http://msdn.microsoft.com/zh-tw/library/system.windows.forms.datagridview.rows.aspx

    例如

    this.dataGridView1.Rows.Insert(0, "one", "two", "three", "four");


    .NET菜鳥自救會 http://www.dotblogs.com.tw/chou/
    • 已標示為解答 裘裘 2009年10月1日 上午 06:05
    2009年10月1日 上午 05:52
    版主
  • 並未將物件參考設定為物件的執行個體----------指的是某個物件為null
    錯誤訊息已經說是228行了,您就只要到228行去檢查是哪個物件沒有初始化就行了
    • 已標示為解答 裘裘 2009年10月1日 上午 06:05
    2009年10月1日 上午 05:55
  • 非常謝謝二位的指點,問題解決了。

    感謝。^^
    2009年10月1日 上午 06:05