Alex Rivera | Logout

DataGridView , Adjusting width and height to DataTable

Asked 2011-04-25T22:38:50.683
15

I am binding a DataTable to GridView. It does not adjust to height and width of the DataTable. How can I the strech the width of the grid that i shows all the columns and height shrink if the rows are few.

enter image description here

Edit
Report

1 Answer

2

First, your form would have to be big enough for the DataGridView to expand and show all of the columns. In the screenshot, it doesn't look wide enough. You can set the size of the datagridview manually, but it is rare that you know the exact width of each column at design time because you don't know how much will be in each column at run time. For example, your Invoicedescription column could have strings that vary in length.

What I typically do in cases like yours is to put a splitter control on the form. The text box at the top and the Import Invoices button would go in the top panel of the splitter control, and the DataGridView would go in the bottom panel. Then, set the Dock property of the DataGridView to fill the bottom panel of the splitter control. This way, when the user resizes the form the DataGridView will grow/shrink with it.

You can further control the way the columns appear by setting the DataGridView.AutoResizeRows property.

Just giving this as an option, I'm not aware of any way to have the grid automatically resize to the data it is displaying. You may be able to calculate the height/width of the rows and then manually resize the grid in code, but I would make sure I really needed that requirement first.

answered 2011-04-25T23:50:12.360

Your Answer