求C#dataGridView根据列名统一对齐方式的批处理语句

i逐浪 2020-01-03 12:32:13
求C#dataGridView根据列名统一对齐方式的批处理语句

原始样例:

DataTable dt = new DataTable();//创建DataTable对象
sda.Fill(dt);//填充DataTable
DataView dv = dt.DefaultView;
dataGridView1.DataSource = dv;

//文字右对齐,需统一所有带金额、税额、价税的对齐方式为右对齐
dataGridView1.Columns["不含税金额"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight;
dataGridView1.Columns["不含税金额本位币"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight;
dataGridView1.Columns["税额"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight;
dataGridView1.Columns["税额本位币"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight;
dataGridView1.Columns["价税合计"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight;
dataGridView1.Columns["价税合计本位币"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight;


我想要优化一下语句,请高手们指点迷津,谢谢!
...全文
67 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
i逐浪 2020-01-03
  • 打赏
  • 举报
回复
引用 3 楼 ManBOyyy 的回复:
[quote=引用 2 楼 i逐浪 的回复:] [quote=引用 1 楼 ManBOyyy 的回复:] 不需要寫那麼多,所有列右對齊 this.dataGridView1.ColumnHeadersDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight;
不能所有列,样例上放的全是需要右对齐的,还有非金额字段不需要右对齐。 我需要去判断列名有带“金额”、“税额”、“价税”这些字符串的,然后只对它们作右对齐处理。 想找foreach语句批处理。[/quote] foreach (DataGridViewColumn column in dataGridView1.Columns) { if (column.HeaderText.ToString().Contains("11"))//包含11的標題,寬度500px { column.Width =500; } }[/quote] 已解决,谢谢!
i逐浪 2020-01-03
  • 打赏
  • 举报
回复
quote] foreach (DataGridViewColumn column in dataGridView1.Columns) { if (column.HeaderText.ToString().Contains("11"))//包含11的標題,寬度500px { column.Width =500; } }[/quote]这个解决了我的自定义列宽问题,但本题的右对齐方案怎么解决?烦请再提供一下,谢谢!
ManBOyyy 2020-01-03
  • 打赏
  • 举报
回复
引用 2 楼 i逐浪 的回复:
[quote=引用 1 楼 ManBOyyy 的回复:] 不需要寫那麼多,所有列右對齊 this.dataGridView1.ColumnHeadersDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight;
不能所有列,样例上放的全是需要右对齐的,还有非金额字段不需要右对齐。 我需要去判断列名有带“金额”、“税额”、“价税”这些字符串的,然后只对它们作右对齐处理。 想找foreach语句批处理。[/quote] foreach (DataGridViewColumn column in dataGridView1.Columns) { if (column.HeaderText.ToString().Contains("11"))//包含11的標題,寬度500px { column.Width =500; } }
i逐浪 2020-01-03
  • 打赏
  • 举报
回复
引用 1 楼 ManBOyyy 的回复:
不需要寫那麼多,所有列右對齊 this.dataGridView1.ColumnHeadersDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight;
不能所有列,样例上放的全是需要右对齐的,还有非金额字段不需要右对齐。 我需要去判断列名有带“金额”、“税额”、“价税”这些字符串的,然后只对它们作右对齐处理。 想找foreach语句批处理。
ManBOyyy 2020-01-03
  • 打赏
  • 举报
回复
不需要寫那麼多,所有列右對齊
this.dataGridView1.ColumnHeadersDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight;

110,825

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧