Solved

assigning the data source to a data grid

Posted on 2012-03-20
9
260 Views
Last Modified: 2012-06-22
Hi,

I'm getting a web service response as List<T> and at the moment I'm assigning it to a datagrid data source: i.e.

Exams.ExamBookingService.ExamBookingServiceSoapClient target = new Exams.ExamBookingService.ExamBookingServiceSoapClient();
                GetExamsServiceResponse esr;

                esr = target.GetActiveExams("O6UJ9A001SUJ", "241222576");
                GridView1.DataSource = esr.ExamsDisplay;
                GridView1.DataBind();

The problem is I don't want to show all the column in the list but rather want only the few columns in my grid. How do I manipulate the columns in the grid at run time and where do I assign the datasource to the grid?

Please someone help me?

Thanks in advance!
0
Comment
Question by:ube100
  • 3
  • 3
  • 3
9 Comments
 
LVL 20

Expert Comment

by:BuggyCoder
ID: 37741756
you have to use template field:-
 <asp:TemplateField HeaderText="FirstName">
                     <ItemTemplate>
                        <asp:Label ID="Label2" runat="server" Text='<%# ((Customer)Container.DataItem).CustPerson.FirstName %>'></asp:Label>
                    </ItemTemplate>
 </asp:TemplateField>

Open in new window

Refer to the following url for more detail:-
http://weblogs.asp.net/gurusarkar/archive/2010/04/28/binding-list-of-custom-class-to-gridview-or-listview-control.aspx
0
 
LVL 42

Expert Comment

by:sedgwick
ID: 37741778
do u want to bind the list to a specific column in your grid?
0
 

Author Comment

by:ube100
ID: 37741801
My List got about 10 columns but I just want to display only 6 columns in my grid.
0
Master Your Team's Linux and Cloud Stack!

The average business loses $13.5M per year to ineffective training (per 1,000 employees). Keep ahead of the competition and combine in-person quality with online cost and flexibility by training with Linux Academy.

 
LVL 42

Expert Comment

by:sedgwick
ID: 37741812
if the 6 columns are predefined then u can remove them from the list before bind to the grid.
0
 
LVL 20

Expert Comment

by:BuggyCoder
ID: 37741869
did you follow the link i mentioned!!!
Also I hope you know how to use <Columns> and <ItemTemplate> tags in gridview.
0
 

Author Comment

by:ube100
ID: 37742010
Yes I followed the link and this is what I done:

 <Columns>
    <asp:TemplateField HeaderText="ExamCode" runat="server">
                     <ItemTemplate>
                        <asp:Label ID="Label2" runat="server" Text='<%# (Container.DataItem) .ExamCode%>'></asp:Label>
                    </ItemTemplate>
    </asp:TemplateField>
    </Columns>

But I'm getting following error message:
Object does not contain a definition for 'ExamCode' and no extension method 'ExamCode' accepting a first argument of type 'Object' could be found.
0
 
LVL 20

Accepted Solution

by:
BuggyCoder earned 250 total points
ID: 37742022
Assuming your class name is Exam and there is a property to get exam code namely ExamCode, here is how binding should look like:-

<asp:Label ID="Label2" runat="server" Text='<%#((Exam)Container.DataItem) .ExamCode%>'></asp:Label>

Open in new window

0
 
LVL 42

Expert Comment

by:sedgwick
ID: 37742027
Container.DataItem is the the type T in your list so for example if the object is Person and u want to bind the ID then u need to do:
<asp:Label ID="Label2" runat="server" Text='<%# ((Person)(Container.DataItem)).ID%>'></asp:Label>
0
 

Author Closing Comment

by:ube100
ID: 37742067
Thanks!!!
0

Featured Post

Master Your Team's Linux and Cloud Stack

Come see why top tech companies like Mailchimp and Media Temple use Linux Academy to build their employee training programs.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
SqlDataBase 7 48
What can cause the styling on a .NET site to not be found? 17 25
Winform Module - What is the ASP.Net equiv 2 20
DataTables + iCheck + pagination Issue 2 20
This article is for Object-Oriented Programming (OOP) beginners. An Interface contains declarations of events, indexers, methods and/or properties. Any class which implements the Interface should provide the concrete implementation for each Inter…
Today I had a very interesting conundrum that had to get solved quickly. Needless to say, it wasn't resolved quickly because when we needed it we were very rushed, but as soon as the conference call was over and I took a step back I saw the correct …
This Micro Tutorial will give you a basic overview how to record your screen with Microsoft Expression Encoder. This program is still free and open for the public to download. This will be demonstrated using Microsoft Expression Encoder 4.
With Secure Portal Encryption, the recipient is sent a link to their email address directing them to the email laundry delivery page. From there, the recipient will be required to enter a user name and password to enter the page. Once the recipient …

770 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