none
vb.net的datagridview RRS feed

答案

  • 你好
    明白了, 其實我也不知道怎樣可以令到"问题是打开窗体时就连接数据库,第一行的数据不会自动分配给label"
    我想你要自己寫CODE 去設定他們做空白了
    例如:
    DataGridView1.DataSource = tbl
    DataGridView1.ClearSelection()
    Label6.Text = ""
    Label4.Text =""
    Label5.Text = ""


    头两个数据都可以分配到各自的label,但第三个资料因为没有资料在Email的field里,所以出现错误。我用vb6时,即使没有数据在Email,他的label就没有变化。vb2005该怎样做???
    我想了解 Email Field 的內容是什麼 E.g.是空白?還是Null?

    或者你可以用一個IF Statement 去實現這個


    Try

    If DataGridView1.Rows(e.RowIndex).Cells("Email").Value.ToString.Trim.Length = 0 Then
        label1.text="NO data"
    ELSE
        Label1.Text = DataGridView1.Rows(e.RowIndex).Cells("Email").Value
    End If


     Catch ex As Exception
        label1.text="NO data"
    End Try

    雖然可能是要寫多一點程式碼
    但應該可以做到你想做的效果的

    希望其他高人可以介紹一些更好的方法

    Please correct me if my concept is wrong
    Chi
    2010年8月12日 20:37
    版主

全部回复

  • 你好

    當DataGridView 綁定資料庫時都會自动选择 第一签的.. 不知清楚怎樣設定才可以令他不自己選擇
    或者你可以嘗試用以下的CODE 去消除 已選擇的行

    E.g.
    DataGridView1.DataSource = tbl
    DataGridView1.ClearSelection()

    Please Correct me if my concept is wrong


    Chi
    2010年8月12日 12:11
    版主
  • 你好

    當DataGridView 綁定資料庫時都會自动选择 第一签的.. 不知清楚怎樣設定才可以令他不自己選擇
    或者你可以嘗試用以下的CODE 去消除 已選擇的行

    E.g.
    DataGridView1.DataSource = tbl
    DataGridView1.ClearSelection()

    Please Correct me if my concept is wrong


    Chi

    那个代码我之前也有试过,也是不可以。我的作品是这样的: 打开窗体时就连接数据库,然后我按下某一行的资料时就自动分配给各自的label.(这部分完全没有问题,谢谢你的答案)。问题是打开窗体时就连接数据库,第一行的数据就会自动分配给label了。你有什么办法吗?高手。。

     

    还有一个问题,我的数据库的表(serial)有三个field(Application_Name,Number,Email)。目前数据库有三个资料,第一个和第二个在三个field都有资料,第三个就只有在Application_Name和Number的field有资料而已,而在Email是没有资料的。

     

    Label6.Text = DataGridView3.Rows(e.RowIndex).Cells("Application_Name").Value

    Label4.Text = DataGridView3.Rows(e.RowIndex).Cells("Serial").Value 

    Label5.Text = DataGridView3.Rows(e.RowIndex).Cells("Email").Value 

    头两个数据都可以分配到各自的label,但第三个资料因为没有资料在Email的field里,所以出现错误。我用vb6时,即使没有数据在Email,他的label就没有变化。vb2005该怎样做???

    你之前也有给我答案,但不可以。。你的答案如下:

    Try
    Label1.Text = DataGridView1.Rows(e.RowIndex).Cells("Email").Value
     Catch ex As Exception
    label1.text="NO data"

    End Try

    2010年8月12日 12:28
  • 你好
    明白了, 其實我也不知道怎樣可以令到"问题是打开窗体时就连接数据库,第一行的数据不会自动分配给label"
    我想你要自己寫CODE 去設定他們做空白了
    例如:
    DataGridView1.DataSource = tbl
    DataGridView1.ClearSelection()
    Label6.Text = ""
    Label4.Text =""
    Label5.Text = ""


    头两个数据都可以分配到各自的label,但第三个资料因为没有资料在Email的field里,所以出现错误。我用vb6时,即使没有数据在Email,他的label就没有变化。vb2005该怎样做???
    我想了解 Email Field 的內容是什麼 E.g.是空白?還是Null?

    或者你可以用一個IF Statement 去實現這個


    Try

    If DataGridView1.Rows(e.RowIndex).Cells("Email").Value.ToString.Trim.Length = 0 Then
        label1.text="NO data"
    ELSE
        Label1.Text = DataGridView1.Rows(e.RowIndex).Cells("Email").Value
    End If


     Catch ex As Exception
        label1.text="NO data"
    End Try

    雖然可能是要寫多一點程式碼
    但應該可以做到你想做的效果的

    希望其他高人可以介紹一些更好的方法

    Please correct me if my concept is wrong
    Chi
    2010年8月12日 20:37
    版主