Ma page semble correcte dans Firefox et IE8. Mais dans IE7, un gridview imbriqué déborde dans la cellule adjacente, un peu comme le numéro here. Dans les outils de développement, il y a un style en ligne associé à la table qu'ASP.NET a généré, et il a un attribut width de 100%. Si je supprime cela, la table imbriquée revient à l'endroit où elle appartient.Le code généré par GridView ajoute "width = '100%'" à la table qu'il crée
Le problème est, nulle part est un ensemble de style en ligne. En fait, si j'essaie de définir width='250px'
, il est remplacé par width='100%'
. Si j'essaie de supprimer l'attribut width dans le code-behind, attrGridView.Attributes["Width"]
est null, et l'appel .Remove()
ne fait rien. Mais chaque table gridview-table générée par asp.net a un style en ligne avec width='100%'
dessus (cela ne me cause que des problèmes en un seul endroit).
La définition table-layout='fixed'
, comme suggéré dans l'article auquel je suis lié, n'a pas aidé.
Comment puis-je obtenir ASP.NET pour arrêter la définition de cette propriété?
Certains code:
<asp:TemplateField HeaderText="Attributes" SortExpression="Attributes">
<HeaderStyle CssClass="GridHeaderCell" />
<ItemStyle CssClass="GridTableCell AttrGridCellPadding" />
<ItemTemplate>
<asp:GridView id="attributesGridView" runat="server"
AutoGenerateColumns="false" ShowHeader="false" GridLines="None"
AlternatingRowStyle-BackColor="White" CssClass="StupidGridView" >
<EmptyDataTemplate>
<p class="italic">There are no attributes for this request.</p>
</EmptyDataTemplate>
<Columns>
<asp:TemplateField>
<ItemStyle CssClass="AttrTableCell" />
<ItemTemplate>
<asp:Label id="attributeName" runat="server"
Text='<%# Eval("Name") + ": "+ Eval("Value") %>'
CssClass="AttrGridCell"></asp:Label>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</ItemTemplate>
</asp:TemplateField>
.StupidGridView {
width: 250px;
}
Avez-vous un thème spécifié quelque part? Si un thème est appliqué à la grille, il est possible qu'il écrase les paramètres au niveau du contrôle. – lincolnk
lincolnk, vous l'avez cloué! Je n'utilise pas de thèmes gridview, mais quelqu'un d'autre dans le projet est. Je peux remplacer cela sur mes gridviews, pas de problème. Si vous postez comme réponse, je le marquerai comme correct. Merci! –