General Advice

I'm an asp/ developer and new to windows forms development.

I want to know the best way to display a list of data - columsn and rows with some columns containing a button which I can attached some event to.

I have been looking at using the datagrid for this but it seems very hard to get buttons in there which makes me think for such a common task I must be using tht wrong concept.

Any thoughts?


LVL 19
Who is Participating?

Improve company productivity with a Business Account.Sign Up

eternal_21Connect With a Mentor Commented:
Yes, the ListView can have multiple columns.  It looks like Windows Explorer when you are in View -> Details mode.
I prefer the ListView to the DataGrid for displaying a single relation.  Instead of having a button, you can respond to the ListView.DoubleClick event.
daveamourAuthor Commented:
Will this work with rows having more than 1 column?  This is what I need.


Keep up with what's happening at Experts Exchange!

Sign up to receive Decoded, a new monthly digest with product updates, feature release info, continuing education opportunities, and more.

daveamourAuthor Commented:
Oh ok thats interesting.  Can this have columns with buttons in too?

Here are the type of coluumns officially supported by the DataGrid:

Bound column Allows you to specify which data source field to display. Allows you to specify the format of that field, using a .NET formatting expression.  

Hyperlink column Displays information as hyperlinks. A typical use is to display data (such as a customer number or product name) as a hyperlink that users can click to navigate to a separate page that provides details about that item.  

Button column Allows you to add a button for each item in the grid and define custom functionality for that button. For example, you might create a button labeled "Add to Shopping Cart" that runs your custom logic when a user clicks it. You can also add predefined buttons for Select, Edit, Update, Cancel, and Delete functions.  

Edit, Update, Cancel column Allows you to create in-place editing. For more details, see "Editing Items" below.

Template column Allows you to create combinations of HTML text and server controls to design a custom layout for a column. The controls within a template column can be data-bound. Template columns give you great flexibility in defining the layout and functionality of the grid contents, because you have complete control over how the data is displayed and what happens when users interact with rows in the grid.  

There are implementations of a DropDownList you can find on the INternat as a Template Column.

Overall the DataGrid can do some very powerful things. See MSDN and Search on DataGrid for a number of excellent columns:

And take the advice in my BLOG. It discussed what you need to do explicitly. It is here:

You need MSDN and Safari (at a minimim).

Kind Regards,
Damon Wilder Carr, Chief Technologist and CEO
.NET SIG Leader - New York Software Industry Association (NYSIA

80 Broad Street
5th Floor
New York, NY 10004

Voice              212.837.7788
Fax                212.859.7359
daveamourAuthor Commented:
Damon - are you talkking about the DataGrid used in  I believe that this is quite different from the one used in Windows Forms which is what we are discussing here!
daveamourAuthor Commented:
Thanks eternal
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.