Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. General Programming
  3. Visual Basic
  4. how to controll cells inside Table1DataGridView

how to controll cells inside Table1DataGridView

Scheduled Pinned Locked Moved Visual Basic
questionjsontutorial
17 Posts 3 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • R Offline
    R Offline
    romo22
    wrote on last edited by
    #1

    Hi guys I need your smart hands to handle this code :confused: I have three columns on (Table1DataGridView) take names: (F/T) (Last name1) (Last name2) first column takes Bit value ( Checkedbox. true or false ) the rest of columns takes text value type. I wonder how can I do something like this : if F/T is checked true then Last name1 equuleus the value of Last name2 I try this

    Private Sub Table1DataGridView_CellContentClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles Table1DataGridView.CellContentClick

    If Table1DataGridView.Rows(0).Cells(0).Value.chcked =True Then

    Table1DataGridView.Rows(0).Cells(1).Value=Table1DataGridView.Rows(0).Cells(2).Value

    End if

    End sub

    then I thought I should know what is the name of F/T column and using that name to give that name my code which is las name1 = last name2 and I did this, I went to ( Edit columns option and then I copy the name of F/T column, and the Name of las nmae1,and the Name of las nmae2 ) and I did this code but I got nothing

    If DataGridViewCheckBoxColumn1.TrueValue Then
    DataGridViewTextBoxColumn2 = DataGridViewTextBoxColumn3

        End If
    

    I'm not sure if can did this or it's not possible, Please if you could give hand with this I will be appreciated thanks

    J L 2 Replies Last reply
    0
    • R romo22

      Hi guys I need your smart hands to handle this code :confused: I have three columns on (Table1DataGridView) take names: (F/T) (Last name1) (Last name2) first column takes Bit value ( Checkedbox. true or false ) the rest of columns takes text value type. I wonder how can I do something like this : if F/T is checked true then Last name1 equuleus the value of Last name2 I try this

      Private Sub Table1DataGridView_CellContentClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles Table1DataGridView.CellContentClick

      If Table1DataGridView.Rows(0).Cells(0).Value.chcked =True Then

      Table1DataGridView.Rows(0).Cells(1).Value=Table1DataGridView.Rows(0).Cells(2).Value

      End if

      End sub

      then I thought I should know what is the name of F/T column and using that name to give that name my code which is las name1 = last name2 and I did this, I went to ( Edit columns option and then I copy the name of F/T column, and the Name of las nmae1,and the Name of las nmae2 ) and I did this code but I got nothing

      If DataGridViewCheckBoxColumn1.TrueValue Then
      DataGridViewTextBoxColumn2 = DataGridViewTextBoxColumn3

          End If
      

      I'm not sure if can did this or it's not possible, Please if you could give hand with this I will be appreciated thanks

      J Offline
      J Offline
      JohnPayton
      wrote on last edited by
      #2

      I'm not sure I understand what you are trying to achieve here or maybe it's because here in Australia it's a Monday morning, and I'm still in weekend mode. Why would you need the contents of Column 1 to be replaced with the contents of Column 2 if the value of Column 0 is checked? Can you possibly provide some more information on what you trying to do.

      R 1 Reply Last reply
      0
      • R romo22

        Hi guys I need your smart hands to handle this code :confused: I have three columns on (Table1DataGridView) take names: (F/T) (Last name1) (Last name2) first column takes Bit value ( Checkedbox. true or false ) the rest of columns takes text value type. I wonder how can I do something like this : if F/T is checked true then Last name1 equuleus the value of Last name2 I try this

        Private Sub Table1DataGridView_CellContentClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles Table1DataGridView.CellContentClick

        If Table1DataGridView.Rows(0).Cells(0).Value.chcked =True Then

        Table1DataGridView.Rows(0).Cells(1).Value=Table1DataGridView.Rows(0).Cells(2).Value

        End if

        End sub

        then I thought I should know what is the name of F/T column and using that name to give that name my code which is las name1 = last name2 and I did this, I went to ( Edit columns option and then I copy the name of F/T column, and the Name of las nmae1,and the Name of las nmae2 ) and I did this code but I got nothing

        If DataGridViewCheckBoxColumn1.TrueValue Then
        DataGridViewTextBoxColumn2 = DataGridViewTextBoxColumn3

            End If
        

        I'm not sure if can did this or it's not possible, Please if you could give hand with this I will be appreciated thanks

        L Offline
        L Offline
        Luc Pattyn
        wrote on last edited by
        #3

        If what you want is change how a column looks (as opposed to what it actually contains), then you could handle the CellFormatting event and perform any calculation and formatting you fancy right there. :)

        Luc Pattyn [My Articles] Nil Volentibus Arduum

        R 1 Reply Last reply
        0
        • J JohnPayton

          I'm not sure I understand what you are trying to achieve here or maybe it's because here in Australia it's a Monday morning, and I'm still in weekend mode. Why would you need the contents of Column 1 to be replaced with the contents of Column 2 if the value of Column 0 is checked? Can you possibly provide some more information on what you trying to do.

          R Offline
          R Offline
          romo22
          wrote on last edited by
          #4

          yes that what I need the contents of Column 1 to be replaced with the contents of Column 2. or on other words because I'm in USA 9:33 pm cool night and cool weather I need to move or copy what in cell to another cell that basically what I need once Column 0 is checked true. because Column 1 will be used as Query in my project. what I gave was just example. I'm focus now how do this to do something else but i'm not sure if some one did like this before or if it's possible to do. thanks

          1 Reply Last reply
          0
          • L Luc Pattyn

            If what you want is change how a column looks (as opposed to what it actually contains), then you could handle the CellFormatting event and perform any calculation and formatting you fancy right there. :)

            Luc Pattyn [My Articles] Nil Volentibus Arduum

            R Offline
            R Offline
            romo22
            wrote on last edited by
            #5

            no I need to move text from cell to another cell on the same row once column 0 is checked :confused:

            L J 2 Replies Last reply
            0
            • R romo22

              no I need to move text from cell to another cell on the same row once column 0 is checked :confused:

              L Offline
              L Offline
              Luc Pattyn
              wrote on last edited by
              #6

              I have no idea what your problem could be, just handle the appropriate event. MSDN doc on DataGridViewCheckBoxCell class says: Typically, check box cell values are intended either for storage, like any other data, or for performing bulk operations. If you want to respond immediately when users click a check box cell, you can handle the DataGridView..::.CellClick event, but this event occurs before the cell value is updated. If you need the new value at the time of the click, one option is to calculate what the expected value will be based on the current value. Another approach is to commit the change immediately, and handle the DataGridView..::.CellValueChanged event to respond to it. To commit the change when the cell is clicked, you must handle the DataGridView..::.CurrentCellDirtyStateChanged event. In the handler, if the current cell is a check box cell, call the DataGridView..::.CommitEdit method and pass in the Commit value. :)

              Luc Pattyn [My Articles] Nil Volentibus Arduum

              1 Reply Last reply
              0
              • R romo22

                no I need to move text from cell to another cell on the same row once column 0 is checked :confused:

                J Offline
                J Offline
                JohnPayton
                wrote on last edited by
                #7

                What Luc is suggesting is correct, use an event handler for the DataGridView to trigger the action you want to occur. Is the DataGridView populated by a data table or array? Do you wish to save the changes back to the database? But to just populate the second cell with the third cell's contents just use something like this. 'Declare a couple of variables to hold the row number and contents of the third cell Dim pRowNo as Integer Dim pstrContents as String 'Get the ROW number pRowNo = Val(DataGridView.SelectedCells(0).RowIndex.ToString()) 'It's here where you test if Cell 0 is checked, then if so the remainder (below) is actioned. 'Store contents of cell three pstrContents = DataGridView.Rows(pRowNo ).Cells(2).Value 'Insert contents into cell two DataGridView.Rows(gintROWNO).Cells(1).Value = pstrContents (The above can be shortened, but I did it this way so you can step through to check the value being copied to "pstrContents" prior to the insert into the second cell) It would be here you save any changes back to the data source and refresh the grid. Does this help?

                R 1 Reply Last reply
                0
                • J JohnPayton

                  What Luc is suggesting is correct, use an event handler for the DataGridView to trigger the action you want to occur. Is the DataGridView populated by a data table or array? Do you wish to save the changes back to the database? But to just populate the second cell with the third cell's contents just use something like this. 'Declare a couple of variables to hold the row number and contents of the third cell Dim pRowNo as Integer Dim pstrContents as String 'Get the ROW number pRowNo = Val(DataGridView.SelectedCells(0).RowIndex.ToString()) 'It's here where you test if Cell 0 is checked, then if so the remainder (below) is actioned. 'Store contents of cell three pstrContents = DataGridView.Rows(pRowNo ).Cells(2).Value 'Insert contents into cell two DataGridView.Rows(gintROWNO).Cells(1).Value = pstrContents (The above can be shortened, but I did it this way so you can step through to check the value being copied to "pstrContents" prior to the insert into the second cell) It would be here you save any changes back to the data source and refresh the grid. Does this help?

                  R Offline
                  R Offline
                  romo22
                  wrote on last edited by
                  #8

                  ok but under where I should put this code. you said use an event handler, I'm sorry I don't how to use this feature where I can find the event handler is it something like this

                  Private Sub Button1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.TextChanged

                  End Sub
                  
                  J 1 Reply Last reply
                  0
                  • R romo22

                    ok but under where I should put this code. you said use an event handler, I'm sorry I don't how to use this feature where I can find the event handler is it something like this

                    Private Sub Button1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.TextChanged

                    End Sub
                    
                    J Offline
                    J Offline
                    JohnPayton
                    wrote on last edited by
                    #9

                    Hi romo22, An event handler is just an event that is called when a user clicks on or otherwise actions a control, such as your DataGridView. Clicking on the DataGridView, will trigger the On_Click event. The first line of code after the declaration gets the ROW number of the grid, which in turn is used to access the data from the cells. For example...... Private Sub DataGridView_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles DataGridView.Click 'Declare a couple of variables to hold the row number and contents of the third cell Dim pRowNo as Integer Dim pstrContents as String 'Get the ROW number pRowNo = Val(DataGridView.SelectedCells(0).RowIndex.ToString()) 'It's here where you test if Cell 0 is checked, then if so the remainder (below) is actioned. 'Store contents of cell three pstrContents = DataGridView.Rows(pRowNo ).Cells(2).Value 'Insert contents into cell two DataGridView.Rows(gintROWNO).Cells(1).Value = pstrContents End Sub This should get you started, you will find some great examples using Google. Remember, this will place the data in the cell but will not save ot to your data source.

                    R 1 Reply Last reply
                    0
                    • J JohnPayton

                      Hi romo22, An event handler is just an event that is called when a user clicks on or otherwise actions a control, such as your DataGridView. Clicking on the DataGridView, will trigger the On_Click event. The first line of code after the declaration gets the ROW number of the grid, which in turn is used to access the data from the cells. For example...... Private Sub DataGridView_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles DataGridView.Click 'Declare a couple of variables to hold the row number and contents of the third cell Dim pRowNo as Integer Dim pstrContents as String 'Get the ROW number pRowNo = Val(DataGridView.SelectedCells(0).RowIndex.ToString()) 'It's here where you test if Cell 0 is checked, then if so the remainder (below) is actioned. 'Store contents of cell three pstrContents = DataGridView.Rows(pRowNo ).Cells(2).Value 'Insert contents into cell two DataGridView.Rows(gintROWNO).Cells(1).Value = pstrContents End Sub This should get you started, you will find some great examples using Google. Remember, this will place the data in the cell but will not save ot to your data source.

                      R Offline
                      R Offline
                      romo22
                      wrote on last edited by
                      #10

                      yes it's work as super :-D :-D :-D :-D :-D but I wonder how can make cell 1 clear once checked is false where I can add the if and else function. I will try by myself first :rose::rose::rose::rose: thanks so much I spent six hours trying with myself finally I'm done with it oh my God

                      Private Sub Table1DataGridView_CellContentClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles Table1DataGridView.CellContentClick
                      'Declare a couple of variables to hold the row number and contents of the third cell

                          Dim pRowNo As Integer
                          Dim pstrContents As String
                      
                          'Get the ROW number
                          pRowNo = Val(Table1DataGridView.SelectedCells(0).RowIndex.ToString())
                      
                          'It's here where you test if Cell 0 is checked, then if so the remainder (below) is actioned.
                          '    If Table1DataGridView.Rows(0).Cells(0).Value = True Then
                          'Store contents of cell three
                          pstrContents = Table1DataGridView.Rows(pRowNo).Cells(2).Value
                      
                          'Insert contents into cell two
                          Table1DataGridView.Rows(pRowNo).Cells(1).Value = pstrContents
                          '    End If
                      End Sub
                      
                      R 1 Reply Last reply
                      0
                      • R romo22

                        yes it's work as super :-D :-D :-D :-D :-D but I wonder how can make cell 1 clear once checked is false where I can add the if and else function. I will try by myself first :rose::rose::rose::rose: thanks so much I spent six hours trying with myself finally I'm done with it oh my God

                        Private Sub Table1DataGridView_CellContentClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles Table1DataGridView.CellContentClick
                        'Declare a couple of variables to hold the row number and contents of the third cell

                            Dim pRowNo As Integer
                            Dim pstrContents As String
                        
                            'Get the ROW number
                            pRowNo = Val(Table1DataGridView.SelectedCells(0).RowIndex.ToString())
                        
                            'It's here where you test if Cell 0 is checked, then if so the remainder (below) is actioned.
                            '    If Table1DataGridView.Rows(0).Cells(0).Value = True Then
                            'Store contents of cell three
                            pstrContents = Table1DataGridView.Rows(pRowNo).Cells(2).Value
                        
                            'Insert contents into cell two
                            Table1DataGridView.Rows(pRowNo).Cells(1).Value = pstrContents
                            '    End If
                        End Sub
                        
                        R Offline
                        R Offline
                        romo22
                        wrote on last edited by
                        #11

                        Hi JohnPayton I tried to add if function but it doesn't work with me the code without if function work prefect :thumbsup:

                        Private Sub Table1DataGridView_CellContentClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles Table1DataGridView.CellContentClick
                        'Declare a couple of variables to hold the row number and contents of the third cell

                            Dim pRowNo As Integer
                            Dim pstrContents As String
                             
                            'Get the ROW number
                            pRowNo = Val(Table1DataGridView.SelectedCells(0).RowIndex.ToString())
                        
                           ' here I try to add if 
                        

                        If Table1DataGridView.Rows(pRowNo).Cells(0).Value = True Then

                                'It's here where you test if Cell 0 is checked, then if so the remainder (below) is actioned.
                                '    If Table1DataGridView.Rows(0).Cells(0).Value = True Then
                                'Store contents of cell three
                                pstrContents = Table1DataGridView.Rows(pRowNo).Cells(2).Value
                              
                                'Insert contents into cell two
                                Table1DataGridView.Rows(pRowNo).Cells(1).Value = pstrContents
                               
                        
                            Else
                                 Table1DataGridView.Rows(pRowNo).Cells(1).Value = ""
                        
                            End If
                        End Sub
                        

                        I need to add if because once cell 0 checked= false then cell1 = clear or "" empty could please help me with this

                        R 1 Reply Last reply
                        0
                        • R romo22

                          Hi JohnPayton I tried to add if function but it doesn't work with me the code without if function work prefect :thumbsup:

                          Private Sub Table1DataGridView_CellContentClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles Table1DataGridView.CellContentClick
                          'Declare a couple of variables to hold the row number and contents of the third cell

                              Dim pRowNo As Integer
                              Dim pstrContents As String
                               
                              'Get the ROW number
                              pRowNo = Val(Table1DataGridView.SelectedCells(0).RowIndex.ToString())
                          
                             ' here I try to add if 
                          

                          If Table1DataGridView.Rows(pRowNo).Cells(0).Value = True Then

                                  'It's here where you test if Cell 0 is checked, then if so the remainder (below) is actioned.
                                  '    If Table1DataGridView.Rows(0).Cells(0).Value = True Then
                                  'Store contents of cell three
                                  pstrContents = Table1DataGridView.Rows(pRowNo).Cells(2).Value
                                
                                  'Insert contents into cell two
                                  Table1DataGridView.Rows(pRowNo).Cells(1).Value = pstrContents
                                 
                          
                              Else
                                   Table1DataGridView.Rows(pRowNo).Cells(1).Value = ""
                          
                              End If
                          End Sub
                          

                          I need to add if because once cell 0 checked= false then cell1 = clear or "" empty could please help me with this

                          R Offline
                          R Offline
                          romo22
                          wrote on last edited by
                          #12

                          Payton I still need your help where I can add if function

                          J 1 Reply Last reply
                          0
                          • R romo22

                            Payton I still need your help where I can add if function

                            J Offline
                            J Offline
                            JohnPayton
                            wrote on last edited by
                            #13

                            Morning romo22, Let me understand what you are doing here.... The way I read your code at the moment is If a user clicks on a Row and Cell 0 (checkbox) is Checked, then the contents of Cell 2 are moved into Cell 1 otherwise you clear the contents of Cell 1 Are you using mouse clicks to Check and UnCheck the checkbox in Cell 0 or is it being populated by a data source?

                            R 1 Reply Last reply
                            0
                            • J JohnPayton

                              Morning romo22, Let me understand what you are doing here.... The way I read your code at the moment is If a user clicks on a Row and Cell 0 (checkbox) is Checked, then the contents of Cell 2 are moved into Cell 1 otherwise you clear the contents of Cell 1 Are you using mouse clicks to Check and UnCheck the checkbox in Cell 0 or is it being populated by a data source?

                              R Offline
                              R Offline
                              romo22
                              wrote on last edited by
                              #14

                              "The way I read your code at the moment is If a user clicks on a Row and Cell 0 (checkbox) is Checked, then the contents of Cell 2 are moved into Cell 1 otherwise you clear the contents of Cell 1" yes that what I want to do " Are you using mouse clicks to Check and UnCheck the checkbox in Cell 0 or is it being populated by a data source?" yes I use the mouse clicks to Check and UnCheck the checkbox in Cell 0

                              J 1 Reply Last reply
                              0
                              • R romo22

                                "The way I read your code at the moment is If a user clicks on a Row and Cell 0 (checkbox) is Checked, then the contents of Cell 2 are moved into Cell 1 otherwise you clear the contents of Cell 1" yes that what I want to do " Are you using mouse clicks to Check and UnCheck the checkbox in Cell 0 or is it being populated by a data source?" yes I use the mouse clicks to Check and UnCheck the checkbox in Cell 0

                                J Offline
                                J Offline
                                JohnPayton
                                wrote on last edited by
                                #15

                                I loaded the code below and it works, it's a little simplistic however by playing around with it I'm sure you can improve your skills by making adjustments. :-O Private Sub DataGridView1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles DataGridView1.Click Dim pRowNo As Integer pRowNo = Val(DataGridView1.SelectedCells(0).RowIndex.ToString()) If DataGridView1.Rows(pRowNo).Cells(0).Value = 1 Then DataGridView1.Rows(pRowNo).Cells(1).Value = DataGridView1.Rows(pRowNo).Cells(2).Value Else DataGridView1.Rows(pRowNo).Cells(1).Value = "" End If End Sub

                                R 1 Reply Last reply
                                0
                                • J JohnPayton

                                  I loaded the code below and it works, it's a little simplistic however by playing around with it I'm sure you can improve your skills by making adjustments. :-O Private Sub DataGridView1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles DataGridView1.Click Dim pRowNo As Integer pRowNo = Val(DataGridView1.SelectedCells(0).RowIndex.ToString()) If DataGridView1.Rows(pRowNo).Cells(0).Value = 1 Then DataGridView1.Rows(pRowNo).Cells(1).Value = DataGridView1.Rows(pRowNo).Cells(2).Value Else DataGridView1.Rows(pRowNo).Cells(1).Value = "" End If End Sub

                                  R Offline
                                  R Offline
                                  romo22
                                  wrote on last edited by
                                  #16

                                  Hi John thank you for standing with me in this code I got this error " Operator '=' is not defined for type 'DBNull' and type 'Integer'."

                                  DataGridView1.Rows(pRowNo).Cells(0).Value = 1

                                  I tried to do something like this

                                  DataGridView1.Rows(pRowNo).Cells(0).Value.Tobit = 1

                                  but I still get the same error notice that I'm working on Visual basic Studio 2010 is ther any difference :confused:

                                  J 1 Reply Last reply
                                  0
                                  • R romo22

                                    Hi John thank you for standing with me in this code I got this error " Operator '=' is not defined for type 'DBNull' and type 'Integer'."

                                    DataGridView1.Rows(pRowNo).Cells(0).Value = 1

                                    I tried to do something like this

                                    DataGridView1.Rows(pRowNo).Cells(0).Value.Tobit = 1

                                    but I still get the same error notice that I'm working on Visual basic Studio 2010 is ther any difference :confused:

                                    J Offline
                                    J Offline
                                    JohnPayton
                                    wrote on last edited by
                                    #17

                                    You just have to test if the value is a null first. Using a IsDBNull function call. :) http://www.freevbcode.com/ShowCode.asp?ID=5810 or http://msdn.microsoft.com/en-us/library/tckcces5(v=vs.71).aspx

                                    1 Reply Last reply
                                    0
                                    Reply
                                    • Reply as topic
                                    Log in to reply
                                    • Oldest to Newest
                                    • Newest to Oldest
                                    • Most Votes


                                    • Login

                                    • Don't have an account? Register

                                    • Login or register to search.
                                    • First post
                                      Last post
                                    0
                                    • Categories
                                    • Recent
                                    • Tags
                                    • Popular
                                    • World
                                    • Users
                                    • Groups