assigning the data source to a data grid

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!
ube100Asked:
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

x
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

BuggyCoderCommented:
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
Meir RivkinFull stack Software EngineerCommented:
do u want to bind the list to a specific column in your grid?
ube100Author Commented:
My List got about 10 columns but I just want to display only 6 columns in my grid.
Microsoft Azure 2017

Azure has a changed a lot since it was originally introduce by adding new services and features. Do you know everything you need to about Azure? This course will teach you about the Azure App Service, monitoring and application insights, DevOps, and Team Services.

Meir RivkinFull stack Software EngineerCommented:
if the 6 columns are predefined then u can remove them from the list before bind to the grid.
BuggyCoderCommented:
did you follow the link i mentioned!!!
Also I hope you know how to use <Columns> and <ItemTemplate> tags in gridview.
ube100Author Commented:
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.
BuggyCoderCommented:
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

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
Meir RivkinFull stack Software EngineerCommented:
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>
ube100Author Commented:
Thanks!!!
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
C#

From novice to tech pro — start learning today.