c#中,如何设置,datagrid工作区中网格的大小宽高度,我找到一个datagrid.preferredColumnWidth属性,不知道怎么用,以为显示出来的数据,有的数据不会显示很多,而又的数据会显示很多(比如地址),我现在想根据数据的多少,让网格自动调整每一列的宽度,好显示内容,我现在默认的是,数据区中每个显示出来的数据列,都是相同的!请问该怎么解决!请给出相应代码!,一旦解决,马上接贴
解决方案 »
- C# webbrowser如何选定select标签并触发change事件
- 请教大家 怎么将项目打包 详细步骤 和要注意什么问题?
- 在winfrom对WebBrowser内textarea 赋值无效果,请个位大侠指教
- 请问一个关于数据库连接的问题
- 请问在带有框架的页面中点击button按钮怎么在已有的框架中打开一个新的页面,这个页面是一个独立的页面
- TreeView怎么没有CheckedNodes属性集合?
- 一段代码的苦恼@
- 请教一个关于HttpWebResponse的问题!!!------高手请进!!!!
- 关于C#编译的问题!
- winform中如何把datagrid中用户选中的多行删除?
- 继续问问题,希望大家帮忙 ^_^关于服务器端验证,最好有例子
- 判断一个程序是否运行
比如
<asp:datagrid id="dgEducations" runat="server" BorderWidth="0px" Width="100%" ShowHeader="False"
CssClass="table" CellPadding="5" AutoGenerateColumns="False">
<SelectedItemStyle BackColor="#CCCCFF"></SelectedItemStyle>
<AlternatingItemStyle BackColor="#E0E0E0"></AlternatingItemStyle>
<Columns>
<asp:BoundColumn Visible="False" DataField="ID"></asp:BoundColumn>
<asp:TemplateColumn ItemStyle-Width="30px">
<HeaderStyle Width="30px"></HeaderStyle>
<ItemTemplate>
<IMG alt="" src="../image/ico3.gif">
</ItemTemplate>
</asp:TemplateColumn>
<asp:BoundColumn DataField="Date" ItemStyle-Width="100px"></asp:BoundColumn>
<asp:BoundColumn DataField="SchoolName"></asp:BoundColumn>
<asp:BoundColumn DataField="Zhuanye"></asp:BoundColumn>
<asp:BoundColumn DataField="XueLi_Type"></asp:BoundColumn>
<asp:TemplateColumn ItemStyle-Width="100px">
<HeaderTemplate>
<FONT face="宋体"></FONT>
</HeaderTemplate>
<ItemTemplate>
<FONT face="宋体">
<asp:LinkButton id="btnMod" runat="server" CommandName="MODIFY" CausesValidation="False">修改</asp:LinkButton> |
<asp:LinkButton id="btnDel" runat="server" CommandName="DELETE" CausesValidation="False">删除</asp:LinkButton></FONT>
</ItemTemplate>
<FooterTemplate>
<FONT face="宋体"></FONT>
</FooterTemplate>
<EditItemTemplate>
<FONT face="宋体"></FONT>
</EditItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:datagrid>
public void AutoSizeCol(int col)
{
float width = 0;
int numRows = ((DataTable) dataGrid1.DataSource).Rows.Count;
Graphics g = Graphics.FromHwnd(dataGrid1.Handle);
StringFormat sf = new StringFormat(StringFormat.GenericTypographic);
SizeF size;
for(int i = 0; i < numRows; ++ i)
{
size = g.MeasureString(dataGrid1[i, col].ToString(), dataGrid1.Font, 500, sf);
if(size.Width > width)
width = size.Width;
}
g.Dispose();
dataGrid1.TableStyles["customers"].GridColumnStyles[col].Width = (int) width + 8; // 8 is for leading and trailing padding
}