这个是现在的效果
代码是这样的:  <div>
    <asp:GridView ID="GridView1" runat="server" AllowPaging="true" PageSize="5" AllowSorting="true" Width="160px"
        BorderColor="Blue" BorderWidth="1" AutoGenerateColumns="true" HorizontalAlign="Justify"
        AlternatingRowStyle-BackColor="BlanchedAlmond" OnPageIndexChanging="GridView1_PageIndexChanging">
        <PagerSettings NextPageText="后一页" PreviousPageText="前一页" />
        <PagerStyle HorizontalAlign="Right" />
    </asp:GridView>
  </div>
  <div>
    <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
        ConnectionString="<%$ ConnectionStrings:laborageConnectionString %>" 
        SelectCommand="SELECT EMPCODE as 员工编号,ATTEVENT as 事件,ATTDATE as 时间 FROM [ATTENDENCE]"></asp:SqlDataSource>
  </div>明明有规定它的宽度啊……而且数据库里那个时间存的是DATE类型,为什么会多显示了时间呢?事件那一列为什么会占了两行?要怎么做才能正常点?

解决方案 »

  1.   

    AutoGenerateColumns="false"  然后手动设置gridview的列<Columns>
      

  2.   

    晕 SOSO的图片不能显示了……大家能上这里看一下么?
    http://wenwen.soso.com/z/q241541711.htm
    谢谢各位了
      

  3.   

    在GridView标签里啊
    Width="160px"
      

  4.   


    改为:     <asp:GridView ID="GridView1" runat="server" AllowPaging="true" PageSize="5" AllowSorting="true" Width="160px"
            BorderColor="Blue" BorderWidth="1" AutoGenerateColumns="false" HorizontalAlign="Justify"
            AlternatingRowStyle-BackColor="BlanchedAlmond" OnPageIndexChanging="GridView1_PageIndexChanging">
            <Columns>
                <asp:BoundField DataField="员工编号" HeaderText="员工编号" />
                 <asp:BoundField DataField="事件" HeaderText="事件" />
                  <asp:BoundField DataField="时间" HeaderText="时间"  DataFormatString="{0:yyyy-MM-dd}"/>
            </Columns>
            <PagerSettings NextPageText="后一页" PreviousPageText="前一页" />
            <PagerStyle HorizontalAlign="Right" />
        </asp:GridView>
      

  5.   

    <asp:GridView ID="GridView1" runat="server" AllowPaging="true" PageSize="5" AllowSorting="true" Width="160px"将width设宽点
    SELECT EMPCODE as 员工编号,ATTEVENT as 事件,ATTDATE as 时间 FROM [ATTENDENCE]
    =========
    SELECT EMPCODE as 员工编号,ATTEVENT as 事件,CONVERT(varchar(100), ATTDATE, 23)as 时间 FROM [ATTENDENCE]
    http://51xingfu.blog.51cto.com/219185/58722
      

  6.   

    Width="160px"
    指的是GridView表格的宽度,行的宽度属性是 RowStyle-Width="160px"
      

  7.   

    数据库里存的是date类型,显示出来的时候你需要给它定义一个DataFormatString="{0:yyyy-MM-dd}"你只是给GV也就是table定义了一个宽度,这样自动生成列,最后可能会根据内容撑变形的,即使你给td定义宽度也是一样,并且在那里你用overflow也是没有用的(除非在里面再套一个div)
      

  8.   

    手动设置每一列的属性。<asp:GridView ID="GridView1" runat="server" AllowPaging="true" PageSize="5" AllowSorting="true" Width="160px"
            BorderColor="Blue" BorderWidth="1" AutoGenerateColumns="true" HorizontalAlign="Justify"
            AlternatingRowStyle-BackColor="BlanchedAlmond" OnPageIndexChanging="GridView1_PageIndexChanging">
            <PagerSettings NextPageText="后一页" PreviousPageText="前一页" />
            <PagerStyle HorizontalAlign="Right" />
    <Columns>
    //设置列
    </Columns>
        </asp:GridView>
      

  9.   

    convert(varchar,ATTDATE,120)
    使用模板列<%# DateTime.Parse(Eval("")).ToString("yyy-MM-dd")%>