还是100,DataGrid如何控制列的宽度?? Asp.net的DataGrid有个问题,它的Column有个属性ItemStyle.Wrap,设计是当这个列的ItemStyle.Wrap属性为true时,单元格允许回行,为false不允许回行,可是当设置了为false时输出到客户端的是这样的see http://www.csdn.net/develop/article/20/20407.shtm 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 查看DataGrid是不是设置了默认宽度,将DataGrid的宽度去掉后列就可以调整宽度了 <asp:BoundColumn HeaderText="aa"> <HeaderStyle width="12px"></HeaderStyle> </asp:BoundColumn> 我也有碰到这样的问题。后来。我改用:动态加载列。搞定。DataView dv = ds1.Tables[0].DefaultView; if(strSort.Trim() != "") { if (SortMark) { dv.Sort = strSort + " DESC"; SortMark = false; } else { dv.Sort = strSort + " ASC"; SortMark = true; } } for(int i=0;i<ds1.Tables[0].Columns.Count;i++) { //Create One column & add to DataGrid BoundColumn col = new BoundColumn(); col.HeaderStyle.Width=Unit.Pixel(100); col.HeaderStyle.Wrap=false; col.ItemStyle.Width = Unit.Pixel(100); col.ItemStyle.Wrap=false; col.HeaderText=ds1.Tables[0].Columns[i].ColumnName.ToString(); col.DataField=ds1.Tables[0].Columns[i].ColumnName.ToString(); col.SortExpression=ds1.Tables[0].Columns[i].ColumnName.ToString(); DataGrid1.Columns.Add(col); } DataGrid1.DataSource = dv; DataGrid1.DataBind(); <table id="table1" height="100%" cellSpacing="0" cellPadding="0" width="100%" border="0"> <tr> <td vAlign="top" width="100%"> <div id="div1" style="OVERFLOW-Y: hidden; OVERFLOW-X: scroll; WIDTH: 630px"> <asp:datagrid id="DataGrid1" runat="server" GridLines="Vertical" ForeColor="Black" CellPadding="3" BackColor="White" BorderWidth="1px" AutoGenerateColumns="False" Width="800px" BorderStyle="Solid" > <Columns> <asp:TemplateColumn SortExpression="checked"> <HeaderStyle Width="5%"></HeaderStyle> <ItemTemplate> <asp:CheckBox ID="myCheck" Runat="server" /> </ItemTemplate> </asp:TemplateColumn> <asp:BoundColumn DataField="id" ReadOnly="True" HeaderText="id"> <HeaderStyle Width="12%"></HeaderStyle> </asp:BoundColumn> <asp:BoundColumn DataField="name" ReadOnly="True" HeaderText="name"> <HeaderStyle Width="83%"></HeaderStyle> </asp:BoundColumn> </Columns> <PagerStyle HorizontalAlign="Left" ForeColor="Black" BackColor="#999999" Mode="NumericPages"></PagerStyle> </asp:datagrid> </div> </td> </tr></table> 你最好设置好datagrid的宽度,然后再设置各列的百分比 <asp:datagrid id="dgDistribute" Width="316px" runat="server" AutoGenerateColumns="False" Font-Size="10pt" PageSize="15" BorderColor="#A0ABEB" BorderStyle="Solid" BorderWidth="1px" BackColor="White" CellPadding="4" GridLines="Vertical" ForeColor="#444444"> <SelectedItemStyle ForeColor="White" BackColor="Black"></SelectedItemStyle> <AlternatingItemStyle BackColor="#EEEEEE"></AlternatingItemStyle> <HeaderStyle HorizontalAlign="Left" ForeColor="White" BorderColor="#6876C5" BackColor="#6876C5"></HeaderStyle> <FooterStyle BackColor="Black"></FooterStyle> <Columns> <asp:BoundColumn DataField="Value" HeaderText="平均分数"> <HeaderStyle Width="150px"></HeaderStyle> </asp:BoundColumn> <asp:BoundColumn DataField="PerNumber" HeaderText="变量个数"> <HeaderStyle Width="150px"></HeaderStyle> </asp:BoundColumn> </Columns> <PagerStyle HorizontalAlign="Center" ForeColor="Black" BackColor="#999999" Mode="NumericPages"></PagerStyle> </asp:datagrid></TD> <Columns> <asp:BoundColumn DataField="Value" HeaderText="平均分数"> <HeaderStyle Width="150px"></HeaderStyle> </asp:BoundColumn> <asp:BoundColumn DataField="PerNumber" HeaderText="变量个数"> <HeaderStyle Width="150px"></HeaderStyle> </asp:BoundColumn></Columns> 没用的,我试过设遍整个DataGrid的wrap属性,设置固定宽度,形同虚设,最后还是用CSS搞定TABLE-LAYOUT: fixed; WORD-BREAK: break-all 数据库提高查询效率 showModalDialog页面中按扭打不开word文件 日期控件问题 把Access数据库一个二进制图片字段导入到Sqlserver2000里面,有的图片可以导进来有的不可以导进来 求正则表达式 web.config的配制问题 献分:求 各种c#.net系统源码系统下载! 如何把数据库表里的内容绑定到checkboxlist上? 错误“对路径‘……’”的访问被拒绝。”怎么解决? 将调试信息写入文件“时发生错误 --“未指定的错误 ” 一个很简单的问题。 请问如何为datagrid中的项增加客户端事件?
<HeaderStyle width="12px"></HeaderStyle>
</asp:BoundColumn>
后来。我改用:动态加载列。搞定。
DataView dv = ds1.Tables[0].DefaultView; if(strSort.Trim() != "")
{
if (SortMark)
{
dv.Sort = strSort + " DESC";
SortMark = false;
}
else
{
dv.Sort = strSort + " ASC";
SortMark = true;
}
} for(int i=0;i<ds1.Tables[0].Columns.Count;i++)
{
//Create One column & add to DataGrid
BoundColumn col = new BoundColumn();
col.HeaderStyle.Width=Unit.Pixel(100);
col.HeaderStyle.Wrap=false;
col.ItemStyle.Width = Unit.Pixel(100);
col.ItemStyle.Wrap=false;
col.HeaderText=ds1.Tables[0].Columns[i].ColumnName.ToString();
col.DataField=ds1.Tables[0].Columns[i].ColumnName.ToString();
col.SortExpression=ds1.Tables[0].Columns[i].ColumnName.ToString();
DataGrid1.Columns.Add(col);
} DataGrid1.DataSource = dv;
DataGrid1.DataBind();
<tr>
<td vAlign="top" width="100%">
<div id="div1" style="OVERFLOW-Y: hidden; OVERFLOW-X: scroll; WIDTH: 630px">
<asp:datagrid id="DataGrid1" runat="server" GridLines="Vertical" ForeColor="Black" CellPadding="3" BackColor="White" BorderWidth="1px" AutoGenerateColumns="False" Width="800px" BorderStyle="Solid" >
<Columns>
<asp:TemplateColumn SortExpression="checked">
<HeaderStyle Width="5%"></HeaderStyle>
<ItemTemplate>
<asp:CheckBox ID="myCheck" Runat="server" />
</ItemTemplate>
</asp:TemplateColumn>
<asp:BoundColumn DataField="id" ReadOnly="True" HeaderText="id">
<HeaderStyle Width="12%"></HeaderStyle>
</asp:BoundColumn>
<asp:BoundColumn DataField="name" ReadOnly="True" HeaderText="name">
<HeaderStyle Width="83%"></HeaderStyle>
</asp:BoundColumn>
</Columns>
<PagerStyle HorizontalAlign="Left" ForeColor="Black" BackColor="#999999" Mode="NumericPages"></PagerStyle>
</asp:datagrid>
</div>
</td>
</tr>
</table>
<SelectedItemStyle ForeColor="White" BackColor="Black"></SelectedItemStyle>
<AlternatingItemStyle BackColor="#EEEEEE"></AlternatingItemStyle>
<HeaderStyle HorizontalAlign="Left" ForeColor="White" BorderColor="#6876C5" BackColor="#6876C5"></HeaderStyle>
<FooterStyle BackColor="Black"></FooterStyle>
<Columns>
<asp:BoundColumn DataField="Value" HeaderText="平均分数">
<HeaderStyle Width="150px"></HeaderStyle>
</asp:BoundColumn>
<asp:BoundColumn DataField="PerNumber" HeaderText="变量个数">
<HeaderStyle Width="150px"></HeaderStyle>
</asp:BoundColumn>
</Columns>
<PagerStyle HorizontalAlign="Center" ForeColor="Black" BackColor="#999999" Mode="NumericPages"></PagerStyle>
</asp:datagrid></TD>
<asp:BoundColumn DataField="Value" HeaderText="平均分数">
<HeaderStyle Width="150px"></HeaderStyle>
</asp:BoundColumn>
<asp:BoundColumn DataField="PerNumber" HeaderText="变量个数">
<HeaderStyle Width="150px"></HeaderStyle>
</asp:BoundColumn>
</Columns>
TABLE-LAYOUT: fixed; WORD-BREAK: break-all