2014-01-08 2 views
4

GridView에서 각 열의 폭을 수정하는 방법은 무엇입니까? 내 GridView는 셀의 데이터와 함께 확장됩니다. 셀의 오른쪽에 도달하면 새 줄로 건너 뛸 필요가 있습니다.GridView에서 각 열의 너비를 고정하는 방법은 무엇입니까?

당신이 볼 수 있듯이

Imgur

, 처음 4 열 그것은 계속 열 5. 때까지 아무 문제가 없습니다 :

<asp:GridView ID="GridView1" runat="server" 
AutoGenerateColumns="False" DataKeyNames="Emp_ID" DataSourceID="LinqDataSource1" 
AllowPaging="True" AllowSorting="True" Width="900px" HorizontalAlign="Center" >       
      <Columns> 
       <asp:BoundField DataField="Emp_ID" HeaderText="ID" 
     InsertVisible="False" ReadOnly="True" SortExpression="Emp_ID"/> 
       <asp:BoundField DataField="Emp_Username" 
     HeaderText="Username" SortExpression="Emp_Username" /> 
       <asp:BoundField DataField="Emp_Password" 
     HeaderText="Password" SortExpression="Emp_Password" /> 
       <asp:BoundField DataField="Emp_Name" 
     HeaderText="ชื่อพนักงาน" SortExpression="Emp_Name" /> 
       <asp:BoundField DataField="Emp_Address" 
     HeaderText="ที่อยู่" SortExpression="Emp_Address" /> 
       <asp:BoundField DataField="Emp_Tel" 
     HeaderText="เบอร์โทรศัพท์" SortExpression="Emp_Tel" /> 
       <asp:TemplateField HeaderText="รูปพนักงาน" SortExpression="Emp_Picture"> 
        <EditItemTemplate> 
         <asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("Emp_Picture") %>'></asp:TextBox> 
        </EditItemTemplate> 
        <ItemTemplate> 
         <asp:Image ID="Image2" runat="server" Height="70px" 
             ImageUrl='<%# Eval("Emp_Picture", "{0}") %>' Width="50px" /> 
        </ItemTemplate> 
       </asp:TemplateField> 
       <asp:BoundField DataField="Status" HeaderText="สถานะ" 
     SortExpression="Status" /> 
       <asp:HyperLinkField DataNavigateUrlFields="Emp_ID" 
           DataNavigateUrlFormatString="AdminUpdate.aspx?Emp_ID={0}" Text="Edit" /> 
       <asp:TemplateField> 
        <HeaderTemplate> 
         <asp:CheckBox ID="ChkSelectAll" runat="server" 
       AutoPostBack="True" oncheckedchanged="ChkSelectAll_CheckedChanged" /> 
        </HeaderTemplate> 
        <ItemTemplate> 
         <asp:CheckBox ID="Chk" runat="server" AutoPostBack="True" oncheckedchanged="Chk_CheckedChanged" /> 
        </ItemTemplate> 
       </asp:TemplateField> 
      </Columns> 
</asp:GridView> 

여기 내 디자인 뷰의 :이 .ASPX 파일에 내 코드입니다 모든 GridView가 페이지 외부로 확장되도록하십시오.

답변

1

단어를 기준으로 배치가 이루어 지므로 한 단어가 두 줄로 분리되지 않습니다.

데이터에 공백이없는 긴 문자열이있는 경우 작동하지 않습니다.

문제는 데이터의 의미가 변경 될 수 있으므로 공백을 직접 삽입 할 수 없다는 것입니다.

그리드에 표시 중 그런 식으로 표 형식이 손상되지 않으며 사용자가 원하는 경우 마우스를 가리키면 전체 문자열을 볼 수 있습니다.

희망이 당신은 열 너비를 해결하기 위해 ItemStyle-Width을 사용할 수 있습니다

+0

난 그냥 노력하고있어 그래서 지금은 단어에 더 많은 공간을 추가해야합니다. 고마워요 !! –

0

GridView의 RowStyle-Wrap 속성을 True으로 설정하십시오.

+0

안녕하세요, 난 그냥 그것을 확인하고 이미 "true"로 설정합니다. –

0

수 있습니다,하지만 당신은 (이미지에서 볼 수 있듯이) 주어진 폭에 동봉 할 수없는 문자를 입력 할 경우, 열은 입력에 따라 확장됩니다 그래서 당신은있는 gridview의 RowStyle-Wrap 재산 모든 column.For 예

<asp:GridView ID="grdVwtrial" runat="server" RowStyle-Wrap="true"> 
3

설정 itemstyle 폭을 사용할 수 있습니다.

<asp:BoundField DataField="Emp_Address" 
    HeaderText="ที่อยู่" SortExpression="Emp_Address"> 
    <ItemStyle Width="200px" HorizontalAlign="Left" /> 
</asp:BoundField> 
+0

세로로 확장되지만 가로로는 확장되지 않습니다. 폭을 고정 시켰기 때문입니다. – Raghubar

+0

그것은 작동합니다. 감사합니다 :) –

+0

@ user3162003 그것이 작동한다면 투표하십시오. – Raghubar

관련 문제