Go Premium for a chance to win a PS4. Enter to Win

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 170
  • Last Modified:

don't display copy vb.net 2008

i have below table witn many row in DB

BrandID Brand
1             Honda
2             Toyota

ModelID BrandID Model
1                1          CRV
2                1          Civic
3                1           Accord


when i use below sql
select * from brand,model where Brand.BrandID=Model.BrandID
it show below in Datagribview

Honda           CRV
Honda           Civic
Honda           Accord


how to show like below in datagridview

Honda        CRV
                   Civic
                   Accord
0
aarontham
Asked:
aarontham
  • 5
  • 4
1 Solution
 
käµfm³d 👽Commented:
What about something like:
Dim current As String = DataGridView1.Rows(0).Cells(0).Value
 
For i As Integer = 1 To Me.DataGridView1.Rows.Count - 1   ' change DataGridView1 to the name of your DG
    If row.Cells(i).Value.ToString() = current Then
        row.Cells(i).Value = String.Empty
    Else
        current = row.Cells(i).Value.ToString()
    End If
Next

Open in new window

0
 
käµfm³d 👽Commented:
My mistake. The indexer was on the wrong variable. Use the code below instead. You will need to change the Cells(0) to Cells(x) where x is the column index of your vehichle manufacturere name.
Dim current As String = DataGridView1.Rows(0).Cells(0).Value
 
For i As Integer = 1 To Me.DataGridView1.Rows.Count - 1   ' change DataGridView1 to the name of your DG
    If row(i).Cells(0).Value.ToString() = current Then
        row(i).Cells(0).Value = String.Empty
    Else
        current = row(i).Cells(0).Value.ToString()
    End If
Next

Open in new window

0
 
aaronthamAuthor Commented:
it a quotation system. what if i have below scenario.

Honda        CRV
                   Civic

Honda       Civic
                 Accord
0
Get your Conversational Ransomware Defense e‑book

This e-book gives you an insight into the ransomware threat and reviews the fundamentals of top-notch ransomware preparedness and recovery. To help you protect yourself and your organization. The initial infection may be inevitable, so the best protection is to be fully prepared.

 
käµfm³d 👽Commented:
If we change your Sql a bit, we can probably solve that issue:

    select * from brand,model where Brand.BrandID=Model.BrandID order by Brand.Brand

Now your list returned from the DB will be something like:
    Honda           CRV
    Honda           Civic
    Honda           Accord
    Toyota          Corrola
    Toyota          Titan

And the previous code I posted will not need to changed.
0
 
aaronthamAuthor Commented:
i required it to display like below.

 Honda           CRV
                      Civic
                      Accord
 Toyota          Corrola
                      Titan
0
 
käµfm³d 👽Commented:
I understand. What I am saying is that the query will return data in a format similar to my last post. After you add the data to your DataGridView, it will still look like it does in my last post. This is where you run the code I originally posted to run through each row and hide the repeated Brands.
0
 
aaronthamAuthor Commented:
i have below error.
Object reference not set to an instance of an object.

on below code
If DataGridView1.Rows(i).Cells(0).Value.ToString() = current Then
0
 
käµfm³d 👽Commented:
Put the code inside the DataBindingComplete handler for the DataGridView:
Private Sub dataGridView1_DataBindingComplete(object sender, DataGridViewBindingCompleteEventArgs e) Handles dataGridView1.DataBindingComplete
    Dim current As String = DataGridView1.Rows(0).Cells(0).Value
 
    For i As Integer = 1 To Me.DataGridView1.Rows.Count - 1   ' change DataGridView1 to the name of your DG
        If row(i).Cells(0).Value.ToString() = current Then
            row(i).Cells(0).Value = String.Empty
        Else
            current = row(i).Cells(0).Value.ToString()
        End If
    Next
End Sub

Open in new window

0
 
aaronthamAuthor Commented:
i got same error.

0

Featured Post

Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

  • 5
  • 4
Tackle projects and never again get stuck behind a technical roadblock.
Join Now