2011-02-07 1 views
1

SQL의 데이터베이스에있는 데이터가 있습니다. 이것은 GridView로 옮겨지고 있습니다.C# 및 asp.net에서 GridView의 필드 너비를 데이터베이스 구동 데이터로 설정하는 방법

문제는 헤더가 모두 변수 widhts를 가지고 있으며 실제로 이상하게 보입니다. 행 및 머리글 설정의 속성보기에서 GridView의 속성을 변경해 보았습니다. 그러나이 doesnt는 효과를 낸다.

데이터가 데이터베이스에서 구동되기 때문에 너비가 무시된다고 가정합니다.

해결 방법이 있습니까?

감사

aspx: 

<asp:GridView ID="gvLatestUpdate" runat="server" CellPadding="4" GridLines="None" BorderStyle="Double" CellSpacing="1"> 
<RowStyle VerticalAlign="Top"/> 
<FooterStyle /> 
<PagerStyle /> 
<SelectedRowStyle /> 
<HeaderStyle BorderWidth="10px"/> 
<EditRowStyle/> 
<AlternatingRowStyle/> 
</asp:GridView> 

code behind: 

SqlDataReader sdr = Business.DesignStandard.getDSGridInfo(Convert.ToInt32(ddlDateRange.SelectedValue), Convert.ToInt32(UserID), headerName, DirectionOfSort); 

gvLatestUpdate.DataSource = sdr; 
gvLatestUpdate.DataBind(); 
+0

안녕하세요, A에서 열 너비를 설정하는 방식을 표시 할 수 있습니까? SPX 또는 aspx.cs 파일? –

+1

데이터 소스가 아무런 차이가 없어야합니다. 솔루션은 ASPX 마크 업에 놓여 있어야합니다. 그러면 게시하는 것이 도움이됩니다. –

답변

1

당신이 아래의 방법을 시도 할 수 있습니다 열 알려진 번호가있는 gridview를 채우는 경우 : 당신이에서 검색되는 모든 열 행 필드를 만들 gridview에 마크 업에서

을 데이터베이스를 설정하고 바운드 항목의 HeaderStyle-Width 속성을 원하는 너비로 설정하십시오.

<asp:GridView ID="gvEmployees" runat="server" DataKeyNames="EmployeeId" DataSourceID="ObjectDataSource1" 
    AutoGenerateColumns="false"> 
    <Columns> 
     <asp:BoundField DataField="EmployeeId" HeaderText="EmployeeId" ReadOnly="true" Visible="false" /> 
     <asp:BoundField DataField="Name" HeaderText="Name" HeaderStyle-Width="150px" /> 
     <asp:BoundField DataField="Surname" HeaderText="Surname" HeaderStyle-Width="150px" /> 
     <asp:BoundField DataField="Age" HeaderText="Age" HeaderStyle-Width="150px" /> 
     <asp:BoundField DataField="IdNumber" HeaderText="Id number" HeaderStyle-Width="150px" /> 
     <asp:CheckBoxField DataField="Married" HeaderText="Maritial Status" HeaderStyle-Width="80px" /> 
    </Columns> 
</asp:GridView> 
관련 문제