台灣最大程式設計社群網站
線上人數
826
 
會員總數:240139
討論主題:186200
歡迎您免費加入會員
討論區列表 >> C# >> Dategridview 怎麼做到定時、即時更新、刷新資料呢?
[ 變換順序 ]  
[我要回覆]
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
Dategridview 怎麼做到定時、即時更新、刷新資料呢?
價值 : 50 QP  點閱數:335 回應數:22

樓主

牙少爺
門外漢
0 2
116 13
發送站內信

請問各位先進,我在程式裡做了datagridview,form load的時候就繫結資料顯示,請問怎麼做到定時、即時的更新資料呢?
因為如果我使用thread的寫法,每次在更新的時候會有下列的錯誤

在DataGridView中發生下列例外狀況:

System.IndexOutOfRangeException:索引0沒有值。
於System.Windows.Forms.CurrencyManager.get_Item(Int32 index)於System.Windows.Forms.DataGridView.DataGridViewDataConnection.GetError(Int32 boundColumnIndex,Int32 columnIndex,Int32 rowIndex)
請問在更新的地方是不是有特別的寫法呢?
我的程式碼如下:


搜尋相關Tags的文章: [ datagridview ] , [ dataset ] , [ 資料更新 ] , [ 資料刷新 ] ,
本篇文章發表於2017-07-13 09:48
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
回應

春天
檢舉此回應
你的DataGridView在哪
本篇文章回覆於2017-07-13 10:05
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
作者回應

牙少爺
檢舉此回應
TO 春天大大,DataGridView我拉出來放畫面上,程式碼我沒有撰寫耶
本篇文章回覆於2017-07-13 11:50
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
不錯的參考

春天
檢舉此回應
你試試這樣,改變DataGridView.DataSource引用的DataTable的值的同時,DataGridView就會同步了

本篇文章回覆於2017-07-13 12:12
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
作者回應

牙少爺
檢舉此回應
TO 春天大大,抱歉,可能我表達的不好,我並非新增資料進去更新,而是畫面上的秒數倒數完,資料重新抓取再填進datagridview裡,
下面此段就是在做這件事,this.iMG_FILETableAdapter.Fill(this.dataSet.IMG_FILE);錯誤似乎都會在這裡出現

本篇文章回覆於2017-07-13 15:40
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
回應

小兔斑比
捐贈 VP 給 小兔斑比 檢舉此回應
是不是要做 Invoke
本篇文章回覆於2017-07-13 16:30
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
6樓
回應

Ader Chen
檢舉此回應
請試試看有沒有幫助:
在 TableAdapter.Fill 之前, 先將 DataGridView.DataSource = nothing,
在 TableAdapter.Fill 之後, 再將 DataGridView.DataSource = this.dataSet.IMG_FILE.
本篇文章回覆於2017-07-13 22:57
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
7樓
回應

Ader Chen
檢舉此回應
ps. 上面 DataSource = nothing 是 VB 的語法,
C# : DataSource = null
本篇文章回覆於2017-07-13 23:06
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
8樓
作者回應

牙少爺
檢舉此回應

這是目前的程式,錯誤沒有跑出來了,但之前試過好像不行,真奇怪
本篇文章回覆於2017-07-17 13:41
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
9樓
回應

QZ_CHUNG
檢舉此回應
您的需求為畫面上的秒數倒數完,資料重新抓取再填進datagridview裡。

您應該是WindowsForm吧?

是否考慮用用看工具箱提供的Timer,並將Timer的Enable屬性設定為True,interval屬性設定多久觸發一次(單位為毫秒)

並且於Timer_Tick事件內進行 抓資料並且填入datagridview這事情。

本篇文章回覆於2017-07-17 17:06
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
10樓
作者回應

牙少爺
檢舉此回應
好,我再來試試
本篇文章回覆於2017-07-20 15:16
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
11樓
作者回應

牙少爺
檢舉此回應
現在又有另外一個問題,我想要用combobox選擇條件,在comboBox1_SelectedIndexChanged裡連接好oracle之後,請問怎麼更新進datagridview呢?最後面還要再加什麼嗎?不知道為何怎麼試都沒有反應


本篇文章回覆於2017-07-21 10:43
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
12樓
作者回應

牙少爺
檢舉此回應
請問這樣寫有問題嗎?請問dataset1還需要什麼設定嗎?

本篇文章回覆於2017-07-21 14:29
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
13樓
作者回應

牙少爺
檢舉此回應
怎麼填入datagridview呢…

本篇文章回覆於2017-07-21 16:09
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
14樓
回應

QZ_CHUNG
檢舉此回應
設完dataGridView1.DataSource 後,
要dataGridView1.DataBind();

本篇文章回覆於2017-07-22 11:37
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
15樓
作者回應

牙少爺
檢舉此回應
to QZ_CHUNG 大大
可是dataGridView1.DataBind();
這行加上後,出現錯誤 請問是少加什麼嗎??
錯誤 'System.Windows.Forms.DataGridView' 不包含 'DataBind' 的定義,也找不到擴充方法 'DataBind' 來接受類型 'System.Windows.Forms.DataGridView' 的第一個引數 (您是否遺漏 using 指示詞或組件參考?)

我搜尋了一下,有人說winform不用這個,這是webform用的是嗎?

本篇文章回覆於2017-07-24 11:51
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
[ 變換順序 ]   

回覆
如要回應,請先登入.