2011-12-30 33 views
5

Tôi sẽ có điều khiển người dùng Gridview của tôi Trong khung màu xám (thẻ div của nó) cho dù Gridview là trong editmode hay không, tôi đã sử dụng Width và Styles của Gridview nhưng nó không hoạt động. Làm cách nào để thực hiện việc này?Làm thế nào để kiểm soát kích thước của Gridview khi chế độ chỉnh sửa của nó và nó không?

.GridViewStyle 
{ 
/*It didn't work*/ 
width:50%; 
} 

GridView khi nó ở chế độ chỉnh sửa Gridview Which is in edit mode

GridView khi nó không ở chế độ chỉnh sửa Gridview Which is not in edit mode

Trả lời

14

Vấn đề này chắc chắn là kích thước của các hộp văn bản <input /> khi ở chế độ chỉnh sửa

Thêm các yếu tố <EditRowStyle> để GridView của bạn để cung cấp cho các chỉnh sửa hàng một lớp CSS

<asp:GridView ID="GridView1" runat="server"> 
    ... 
    <EditRowStyle CssClass="GridViewEditRow" /> <%-- add this --%> 
</asp:GridView> 

Bây giờ bạn có thể kiểm soát kích thước của hộp văn bản với CSS

.GridViewEditRow input[type=text] {width:50px;} /* size textboxes */ 
.GridViewEditRow select {width:50px;} /* size drop down lists */ 
+0

nhờ !! công việc tốt! – Lester

1

Có vẻ như một số điều khiển mà có thể nhìn thấy trong chế độ chỉnh sửa (textbox đầu vào chủ yếu) có một chiều rộng nhất định, làm cho ent ire lưới quá rộng. Trình duyệt của bạn sẽ làm tốt nhất có thể để thiết lập chiều rộng của bảng (đó là những gì một GridView ám tới), nhưng nếu nội dung quá rộng, nó sẽ phải làm cho nó rộng hơn bạn muốn nó.

Kiểm tra các phần tử hộp văn bản bằng Firebug (nếu bạn đang sử dụng Firefox), Công cụ nhà phát triển (Internet Explorer), ... Xem liệu chúng có chiều rộng được đặt cho chúng hay không.

1

Để quản lý lưới khi đang ở chế độ chỉnh sửa, vui lòng thêm thanh cuộn trong mã xaml của div . Khi chế độ chỉnh sửa sẽ được gọi, nó sẽ điều chỉnh vào thanh cuộn. Xác định div, đặt lưới trong đó. Đây là mã làm thế nào để làm điều đó.

<div style="width:100px; height:100px; overflow:scroll;"> 
<asp:GridView ID="GridView1" runat="server"> 
</asp:GridView> 
</div> 
1
<asp:BoundField HeaderText="Title" ControlStyle-Width="100px" DataField="Title" /> 

sử dụng ControlStyle-Width thuộc tính và gán chiều rộng cột

0

Các công trình sau đây:

<asp:TemplateField HeaderText="Salary" ControlStyle-CssClass="cssWidth"></asp:TemplateField> 

<style type="text/css"> 
    .cssWidth { 
     width : 150px; 
    }  
</style> 
Các vấn đề liên quan