Solved

don't display copy vb.net 2008

Posted on 2009-05-07
9
162 Views
Last Modified: 2012-05-06
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
Comment
Question by:aarontham
  • 5
  • 4
9 Comments
 
LVL 74

Expert Comment

by:käµfm³d 👽
ID: 24324162
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
 
LVL 74

Expert Comment

by:käµfm³d 👽
ID: 24324177
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
 

Author Comment

by:aarontham
ID: 24327404
it a quotation system. what if i have below scenario.

Honda        CRV
                   Civic

Honda       Civic
                 Accord
0
 
LVL 74

Expert Comment

by:käµfm³d 👽
ID: 24327593
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
How your wiki can always stay up-to-date

Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
- Increase transparency
- Onboard new hires faster
- Access from mobile/offline

 

Author Comment

by:aarontham
ID: 24327694
i required it to display like below.

 Honda           CRV
                      Civic
                      Accord
 Toyota          Corrola
                      Titan
0
 
LVL 74

Expert Comment

by:käµfm³d 👽
ID: 24328034
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
 

Author Comment

by:aarontham
ID: 24328169
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
 
LVL 74

Accepted Solution

by:
käµfm³d   👽 earned 500 total points
ID: 24330306
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
 

Author Comment

by:aarontham
ID: 24332828
i got same error.

0

Featured Post

How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

Join & Write a Comment

Suggested Solutions

Introduction In my previous article (http://www.experts-exchange.com/Microsoft/Development/MS-SQL-Server/SSIS/A_9150-Loading-XML-Using-SSIS.html) I showed you how the XML Source component can be used to load XML files into a SQL Server database, us…
This article explains how to reset the password of the sa account on a Microsoft SQL Server.  The steps in this article work in SQL 2005, 2008, 2008 R2, 2012, 2014 and 2016.
Via a live example, show how to extract insert data into a SQL Server database table using the Import/Export option and Bulk Insert.
Viewers will learn how to use the SELECT statement in SQL and will be exposed to the many uses the SELECT statement has.

705 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

17 Experts available now in Live!

Get 1:1 Help Now