如何从 datagrivew 列添加字体大小
本文关键字:字体 添加 datagrivew | 更新日期: 2024-11-08 03:47:02
欢迎我成为新成员。
我有一个数据网格视图,上面有 7 列。 所有这些都是加载到数据网格视图的XML文件。 我的列是
部门 , 雇佣 , 永久 , 合同 , 字体大小。
- 我有一个名为 employee 的 xml 文件,它被加载到我的数据网格视图中
- 用户将从列单元格中捕获数据
- 我希望用户只输入两个数字或一个数字来增加当前行的字体大小。
- 如果用户输入 fontsize 为 10,则当前单元格行将更改字体大小(这意味着部门、就业、永久和合同将更改其字体大小)。 更改
- 将仅发生在所选的当前单元格上。例如,如果您更改列索引 1。只有列索引行会更改字体大小。
- 我已经完成了仅允许数字的验证,但我希望它只接受两个数字。
如何根据输入的数字更改列索引的字体大小。我知道字体对话框,但这不是我想要的样子,我已经将其用于其他客户端项目。
我得到了这个例子,但它不是我想要的,因为它有风格。 我只需要字体大小
WinForms DataGridView 字体大小
我的验证
private void Gridview_Output_CellEndEdit_1(object sender, DataGridViewCellEventArgs e)
{
try
{
#region this one validate the font number/ restrctions
int RowIndex = e.RowIndex;
int columnIndex = e.ColumnIndex;
if (e.ColumnIndex == 2)
{
bool validation = true;
if (Gridview_.Rows[RowIndex].Cells[columnIndex].Value != null && Gridview_.Rows[RowIndex].Cells[columnIndex].Value.ToString().Trim() != "")
{
string DataToValidate = Gridview_.Rows[RowIndex].Cells[columnIndex].Value.ToString();
foreach (char c in DataToValidate)
{
if (!char.IsDigit(c))
{
validation = false;
break;
}
}
if (validation == false)
{
MessageBox.Show("Font must be numbers only", "Error Message", MessageBoxButtons.OKCancel,MessageBoxIcon.Warning);
Gridview_.Rows[RowIndex].Cells[columnIndex].Value = "";
}
}
}
加载文件
XmlDocument doc = new XmlDocument();
doc.Load(Employee);
我的网格视图列索引
Gridview_.Rows[i].Cells[1].Value.ToString(); // for Department
Gridview_.Rows[i].Cells[2].Value.ToString(); // for Employment
Gridview_.Rows[i].Cells[3].Value.ToString(); //for Permanent
Gridview_.Rows[i].Cells[4].Value.ToString(); //for Contract
Gridview_.Rows[i].Cells[5].Value.ToString(); //for Fontsize
感谢您的帮助,我希望我的问题足够有建设性
您链接的帖子是为列设置它的正确方法。我从你的问题中收集到的几件事:
- 您只想更改选定的单元格。
- 您只想更改字体大小,而不想更改其他任何内容。
要更改特定的单元格字体,您可以执行以下操作:
dgv.Rows[0].Cells[0].Style.Font = newFont;
要仅设置字体的大小,您需要使用如下所示的内容来恢复以前字体的属性:
Font newFont = new Font(oldFont.FontFamily, 43, oldFont.Style, oldFont.Unit);