GridView修改含有DropDownList控制元件列的寬度

白馬酒涼發表於2013-07-03

 GridView進入Edit模式,編輯列動態繫結DropDown List方便客戶選擇,但當裡面的Item過長,不免令介面不美觀

正確做法:

<asp:TemplateField HeaderText="test1" SortExpression="Lv1" >
                <ItemTemplate>
                    <%# Eval("Lv1")%>
                </ItemTemplate>
                <EditItemTemplate>
                    <asp:dropdownlist ID="test1"  width="148px" runat="server" Text='<%# Bind("Lv1") %>'    DataSource = "<%#getInitDT(0)%>" DataTextField ="Info"  DataValueField ="Code">
                     </asp:dropdownlist>
                </EditItemTemplate>
                <ItemStyle Width="150px" />
</asp:TemplateField>

 做法1:其它列寬也變化,而且DropDown List顯示不正常

 gv_Test.Style.Add("table-layout""fixed")

 做法2:IE9正常,IE8有問題,Header寬度沒變

<asp:TemplateField HeaderText="test2" SortExpression="Lv2">
                <ItemTemplate>
                    <%# Eval("Lv2")%>
                </ItemTemplate>
                <EditItemTemplate>
                    <asp:dropdownlist ID="test2"  runat="server" style="max-width 100px !important; widthauto !importantwidth:100px;" Text='<%# Bind("Lv2") %>' DataSource="<%#getInitDT(1)%>" DataTextField ="Info"  DataValueField ="Code">
                     </asp:dropdownlist>
                </EditItemTemplate>
            </asp:TemplateField>

 

 無效做法3:

<EditRowStyle Width="150" />
無效做法4:
<RowStyle BackColor="#E7E7FF" ForeColor="DarkSlateBlue"  HorizontalAlign ="left" Wrap ="false" Width ="150px" />

 

 

相關文章