根据项目模板的大小动态调整gridview编辑模板的大小

Posted

技术标签:

【中文标题】根据项目模板的大小动态调整gridview编辑模板的大小【英文标题】:Dynamic resize gridview edit template based on size of Item template 【发布时间】:2011-08-21 16:28:12 【问题描述】:

我有一个 GridView,最多可显示 30 列中的数据。有时这会导致 gridview 扩展到需要水平滚动条的宽度,但并非总是如此。列中数据的长度也各不相同,我不想设置特定的宽度,如果一半的列是空的,网格很小就好了。

问题是当我进入编辑模式时,标签被文本框替换,这些文本框占据了更多的宽度,整个表格会自行调整大小。

有什么方法可以让项目模板和它的标签没有固定大小,但同时始终确保编辑模板具有相同的大小。

我在想这样的事情:

关于“进入编辑模式事件” EditTemplateTextBox.Width = CurrentItemTemplate.Width;

【问题讨论】:

【参考方案1】:

使用此 CSS 切换到编辑模式时,我能够阻止我的 GridView 调整大小(添加的新“更新”和“取消”列除外):

table input

    width: 95%;

您可以根据需要使用 100%,但 95% 会在单元格之间留出一点间距。

另外,如果页面上有其他不想受此影响的表格,请为 GridView 提供一个 CssClass 并将“table”替换为 css 类的名称,如下所示:

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

.myGridView input

    width: 95%;

【讨论】:

以上是关于根据项目模板的大小动态调整gridview编辑模板的大小的主要内容,如果未能解决你的问题,请参考以下文章

gridview编辑模板中没有itemtemplate

响应式图像:调整大小或动态裁剪?

根据设备高度在 ScrollView 中动态调整 Nativescript ContentView 的大小

GridView合并单元格万能版(包括模板列)

如何绑定在父 Gridview 控件的模板字段内使用的子 Gridview 控件?

asp.net动态添加GridView的模板列,并获取列值