开发者

Dynamic resize gridview edit template based on size of Item template

开发者 https://www.devze.com 2023-03-04 03:59 出处:网络
I have a GridView that displays data in up to 30 columns. Sometimes this has the effect that the gridview expand to a width that requre a horizontal scrollbar but not always. The length of the data in

I have a GridView that displays data in up to 30 columns. Sometimes this has the effect that the gridview expand to a width that requre a horizontal scrollbar but not always. The length of the data in the columns also vary and I don't want to set a sp开发者_如何学Cecific width, it's nice that the grid is small if half of the columns are empty.

The problem is when I enter edit mode, labels gets replaced by textboxes and those take up more width and the whole table resizes itself.

Is there any way I can keep the item template and it's labels without a fixed size but at the same time always make sure the edit template will have the same size.

I was thinking about something like this:

On "enter edit mode event" EditTemplateTextBox.Width = CurrentItemTemplate.Width;


I was able to keep my GridView from resizing when switched to edit mode (except for the new "Update" and "Cancel" columns that get added) using this CSS:

table input
{
    width: 95%;
}

You can use 100% if you want, but 95% gave a little bit of spacing between the cells.

Also, if you have other tables on the page that you don't want to be affected by this, give your GridView a CssClass and replace 'table' with the name of your css class like so:

<asp:GridView ... CssClass="myGridView">

.myGridView input
{
    width: 95%;
}
0

精彩评论

暂无评论...
验证码 换一张
取 消