none
Visual Basic 2010 DataGridview中的所有数据如何清空? RRS feed

全部回复

  • 你好

    或者你可以嘗試使用

    DataGridView1.DataSource = Nothing?

    如果你的DataSource 是DataTable 的話可以嘗試用

    Dim tbl as DataTable = GenerateData()' 這是取DATA的一個function

    之後用tbl.Clear()來清除data

    之後再

    DataGridView1.DataSource = tbl

    Please correct me if my concept is wrong


    Chi
    2011年3月23日 5:14
    版主
  • 数据是自己输入进去的,还有单元格之间的连线。

    DataGridView1.DataSource = Nothing? DataGridView没反应。


    2011年3月23日 6:18
  •         DataGridView1.Rows.Clear()
    歡迎參觀我的Blog.NET菜鳥自救會
    2011年3月23日 6:25
  • DataGridView1.Rows.Clear() 也不行。把行都删除没了。

    我说明一下,我有两种方案(A,B方案)单元格之间连线并输入数据。

    先用A方案,然后用B方案。这时用A方案时的连线,数据和用B方案时的连线,数据都存在。

    我要用B方案的时不存在A方案的连线,数据。

    谢谢。


    2011年3月23日 7:53
  • 你好,

    你是想删除Datagridview单元格的内容吗?直接赋值为空不行吗?

     DataGridView1.Rows(RowIndex).Cells(ColumnIndex).Value = DBNull.Value

    Best regards


    Liliane Teng [MSFT]
    MSDN Community Support | Feedback to us
    Get or Request Code Sample from Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    2011年3月28日 3:25
  • 可以重新查询。重新赋值DataSource属性。
    2011 c# mvp China. *George读起来像不像“饺子”?我爱吃饺子,我叫George。
    2011年3月30日 4:11
  • 你好,

    你那边怎么样了? 如果你有什么问题的话,请及时回复。

    Best regards


    Liliane Teng [MSFT]
    MSDN Community Support | Feedback to us
    Get or Request Code Sample from Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    2011年3月30日 8:07
  • DataGridView1.Rows(RowIndex).Cells(ColumnIndex).Value = DBNull.Value 还是不行,

    单元格之间的连线清除不了。


    2011年3月30日 10:02
  • 用这个DataGridView1.Rows(RowIndex).Cells(ColumnIndex).Value = DBNull.Value 可以清楚单元格的内容,单元格之间的连线你是画上去的吧,我觉得应该单独清除。能把你的代码贴出来吗?


    Liliane Teng [MSFT]
    MSDN Community Support | Feedback to us
    Get or Request Code Sample from Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.


    2011年3月31日 2:07
  • 这个代码是你给的,一下是你给我的代码。

    你好,

    你可以在DataGridView_Paint事件中画线。请尝试下面这段代码,它实现了在第c1行r1列和c2行r2列两单元格之间画线的功能。

     Private Sub DataGridView1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles DataGridView1.Paint
       Dim c1, r1 As Integer '起点单元格的行和列
      Dim c2, r2 As Integer '终点单元格的航和列
      If DataGridView1.Columns(c1).Visible And DataGridView1.Rows(r1).Visible And DataGridView1.Columns(c2).Visible And DataGridView1.Rows(r2).Visible Then
    
       Dim p As Pen = New Pen(Color.Red)
       Dim rectCell1 As Rectangle, rectCell2 As Rectangle
    
       rectCell1 = DataGridView1.GetCellDisplayRectangle(c1, r1, True)
       rectCell2 = DataGridView1.GetCellDisplayRectangle(c2, r2, True)
    
       Dim lineFrom As Point
       lineFrom.X = rectCell1.X
       lineFrom.Y = rectCell1.Y + rectCell1.Height / 2
    
       Dim lineTo As Point
       lineTo.X = rectCell2.X + rectCell2.Width
       lineTo.Y = rectCell2.Y + rectCell2.Height / 2
    
       e.Graphics.DrawLine(p, rectCell1.X, rectCell1.Y, rectCell2.X, rectCell2.Y)
    
      End If
     End Sub
    

    Best regards

    2011年3月31日 5:18
  • 如何你想清除画线的话,就不要在paint方法里边画线了。 用下面这个方法画线,当点击button1的时候,它实现了在第c1行r1列和c2行r2列两单元格之间画线。当点击button2, 调用DataGridView1.Refresh() 方法后,画线清除。

     Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    
      Dim c1, r1 As Integer '起点单元格的行和列
    
      Dim c2, r2 As Integer '终点单元格的航和列
    
      Dim rectCell1 As Rectangle, rectCell2 As Rectangle
    
      Dim p As Pen = New Pen(Color.Blue, 5)
    
      rectCell1 = DataGridView1.GetCellDisplayRectangle(c1, r1, True)
    
      rectCell2 = DataGridView1.GetCellDisplayRectangle(c2, r2, True)
    
      Dim g As Graphics = DataGridView1.CreateGraphics()
    
      g.DrawLine(p, rectCell1.X, rectCell1.Y, rectCell2.X, rectCell2.Y)
    
     End Sub
    
     Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
    
      DataGridView1.Refresh()
    
     End Sub
    
    

    Best regards


    Liliane Teng [MSFT]
    MSDN Community Support | Feedback to us
    Get or Request Code Sample from Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

     


    2011年4月1日 9:44
  • 你好

    DataGridview共50行,只显示10行,吉他行用滚动条滚动才能看得见。

    划线以后看得见10行的效果还可以,吉他行用滚动条滚动以后划的线特别乱。

    不是我想要的效果。

    谢谢。


    2011年4月1日 11:35
  • DataGridView1_Paint里判断起点,终点单元格的值


    http://feiyun0112.cnblogs.com/
    2011年4月6日 9:18
    版主
  • 你好

    试试这个

     Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        Dim DataRow As DataGridViewRow
        For Each DataRow In DataGridView1.Rows
          For Each cell As DataGridViewCell In DataRow.Cells
            cell.Value = Nothing
            cell.Style.BackColor = Color.Red
          Next
        Next
      End Sub
    

    Be a good forum member. Make this forum a great place to meet and interact with others around the world.
    2011年5月25日 13:56
  • 谢谢。

    我把BackColor设为白色,但本来有黄色的Cell变为白色了。

    2011年5月26日 11:40
  • 只设你需要改颜色的cell
    http://feiyun0112.cnblogs.com/
    2011年6月15日 1:24
    版主