//datagrid自动化
public void AutoSizeTable()
{
int numCols = ((DataTable) dataGrid1.DataSource).Columns.Count;
for(int i = 0; i < numCols; ++i)
AutoSizeCol(i);
}
public void AutoSizeCols(int start, int finish)
{
for(int i = start; i <= finish; ++i)
AutoSizeCol(i);
}
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["d1"].GridColumnStyles[col].Width = (int) width + 8; // 8 is for leading and trailing padding
}
public void AutoSizeTable()
{
int numCols = ((DataTable) dataGrid1.DataSource).Columns.Count;
for(int i = 0; i < numCols; ++i)
AutoSizeCol(i);
}
public void AutoSizeCols(int start, int finish)
{
for(int i = start; i <= finish; ++i)
AutoSizeCol(i);
}
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["d1"].GridColumnStyles[col].Width = (int) width + 8; // 8 is for leading and trailing padding
}
解决方案 »
- |ZYCWPF| WPF的<i:Interaction.Triggers>中的<ei:DataTrigger,哪一个是实现多条件验证的Multi 谢谢有示例
- WCF无法返回List<interface>,出现The connection was closed unexpectedly异常
- 给点想法和建议,英雄们!
- 内部链接(字符串替换)
- C#字符串数组
- 那位高手遇到过这样的异常?小弟实在没办法了。望指教!!!
- 循环里面需要有个变量怎么办? for (int i = 0; i < 10; i++) 和 for(int i = 0; i < 0; i++)
- 百度搜了也没有,问了也没人知道,这是不是不可能实现的。
- 简单问题, 关于数据库?
- 高手进来一下,C#windowsForms中的DataGridView显示出了问题
- 请教各位高手关于动态类的问题,在线等!
- 刚接触c#,非常简单的问题!谢谢大家!
异常提示是:指定的参数已超出有效值的范围
{"指定的参数已超出有效值的范围。\r\n参数名: columnIndex" } System.ArgumentOutOfRangeException
{
size = g.MeasureString(dataGrid1[i,col].ToString(),dataGrid1.Font,500,sf);
}