台灣最大程式設計社群網站
線上人數
885
 
會員總數:242933
討論主題:187836
歡迎您免費加入會員
討論區列表 >> VB.NET >> table內的資料判斷
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
table內的資料判斷
價值 : 50 QP  點閱數:215 回應數:14

樓主

沈宗翰
門外漢
0 2
82 7
發送站內信

想用DataGridView1.DataSource方式做一個table
給定row0的資料
手動輸入row1的資料
比對後如果相同row2顯示OK 不同則顯示NG(如果沒有輸入也顯示NG)
Dim dt As New DataTable
Dim row As DataRow
row = dt.NewRow()

For i = 1 To 20

row = dt.NewRow()
row(0) = i
row(1) = ""
dt.Rows.Add(row)

Next
If row(0) = row(1) Then

row(2) = "OK"
Else

row(2) = "NG"

End If

DataGridView1.DataSource = dt

但輸入row(1)的資料時row(2)沒有顯示OK 或 NG

請各位大大幫幫忙,謝謝~


搜尋相關Tags的文章: [ table資料判斷 ] ,
本篇文章發表於2018-07-18 18:14
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
回應

P陳
檢舉此回應
你確定這個程式可以跑嗎?
沒有設 Column 如何存資料?

有正常結束嗎?
本篇文章回覆於2018-07-19 06:13
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
作者回應

沈宗翰
檢舉此回應
Hi~ P陳

Column 我有設定只是沒貼出來
程式有跑出來 也有正常結束

Column --> 正常顯示
row --> row(0) 顯示1~20(正常顯示) row(1) 手動輸入數字 row(2) 沒反應(沒顯示ok或NG)
本篇文章回覆於2018-07-21 09:58
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
回應

P陳
檢舉此回應
那麻煩你將程式全貼出來好嗎?

本篇文章回覆於2018-07-21 17:54
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
不錯的參考

P陳
檢舉此回應
而且你的OK NG 只判斷一次而已,你要他在那一筆顯示
本篇文章回覆於2018-07-21 17:57
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
作者回應

沈宗翰
檢舉此回應
Hi~ P陳

有做小部分修改,再請您指教,謝謝~

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim dt As New DataTable
Dim i As Integer
Dim j As Integer
dt.Columns.Add("分數")
dt.Columns.Add("分數確認")
dt.Columns.Add("判別")
Dim row As DataRow
row = dt.NewRow()

For i = 1 To 20

row = dt.NewRow()
row(0) = i
row(1) = j
dt.Rows.Add(row)
' 'row(2).BackColor = Color.Yellow
If row(0) = row(1) Then

row(2) = "OK"
Else

row(2) = "NG"

End If
Next
DataGridView1.DataSource = dt
End Sub

本篇文章回覆於2018-07-25 18:06
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
6樓
不錯的參考

P陳
檢舉此回應
原先的 NG 只會出現在 第 20 筆

現在的狀況呢? 跑出來的結果為何? 您想要什麼樣的答案呢?


本篇文章回覆於2018-07-25 21:40
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
7樓
作者回應

沈宗翰
檢舉此回應
目前狀況
row(0)顯示 1 到 20
row(1)顯示空白(我將row(1) = j 改成row(1) = "" 刪除Dim j As Integer)
row(2)1到20筆皆顯示NG
我想要答案為:程式執行後我到row(1)格子內填入數字系統會去比對row(0)與row(1)是否相同
如果相同row(2)的格子顯示OK,不同則顯示NG,目前填入數字後沒有執行判斷部分
本篇文章回覆於2018-07-26 08:39
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
8樓
不錯的參考

P陳
檢舉此回應
您的程式跑出來的結果是對的.............
問題在程式沒寫好

請單步執行到
If row(0) = row(1) Then <---這句暫停 檢查 row(0) 及row(1) 如果您還是沒有發現那堨X問題,我們再來討論

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

沈宗翰
檢舉此回應
我想要的答案應為取得row(0) 和 row(1) 手動輸入的資料做比較
但我這樣寫卻是再取得row(1)手動輸入的資料之前就先做判斷了所以造成1~20全部NG
請問該用什麼方法才能將判斷改到之後呢?
本篇文章回覆於2018-07-26 16:30
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
10樓
不錯的參考

P陳
檢舉此回應
終於不必再打轉了 請再加一個 Button1
Load 時作
1.產生 DT
2.放到 datagridview1 來輸入 20筆的 Row(1)
----------------------
button1_click 時
來檢查 20筆的 row(0) 是否 = row1(1)

以上就是你要的答案了

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

沈宗翰
檢舉此回應
請問可以在輸入row(1)的資料後直接做檢查嗎?(不要再寫到另外的button)
本篇文章回覆於2018-07-26 18:33
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
12樓
最有價值解答

P陳
檢舉此回應
當然可以

事件名稱 Cellvaluechanged 當Cell value 資料有變化後作檢查
本篇文章回覆於2018-07-26 21:35
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
13樓
作者回應

沈宗翰
檢舉此回應
感謝您的指導~
本篇文章回覆於2018-07-29 11:18
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
14樓
回應

P陳
檢舉此回應
加油!!!
程式設計這條路不好走,要很有耐心。

不過
人生的路沒有一條是好走的
本篇文章回覆於2018-07-29 22:37
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

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