在c#后的DataGrid代码中将DataRow Cell的一部分设置为粗体

本文关键字:一部分 设置 Cell DataRow 后的 DataGrid 代码 | 更新日期: 2023-09-27 18:11:16

如何使数据网格行单元格内的文本的一部分为粗体?我能够通过以下代码使整个单元格文本为粗体。

void Item_Bound(Object sender, DataGridItemEventArgs e)
{
    e.Item.Cells[0].Font.Bold = true;
}

我是从后面的代码创建Datagrid,所以不能使用任何aspx页面选项

在c#后的DataGrid代码中将DataRow Cell的一部分设置为粗体

你可以把文本拉出来,用一个带有加粗选项的span代替。

我会为LabelLiteral等特定控件执行此操作(如果需要,使用TemplateColumn),并使用控件的OnDataBinding方法作为OnDataBound事件,在我看来不是这样做的合适位置。

但是要使用上面的例子,你可以这样做:

void Item_Bound(Object sender, DataGridItemEventArgs e)
{
    string yourSubString = "some string to bold";
    e.Item.Cells[0].Text = e.Item.Cells[0].Text.Replace(yourSubString,
        string.Format("<span style='font-weight: bold'>{0}</span>", yourSubString));
}

上面应该用粗体版本替换yourSubString中定义的字符串。请记住,如果它出现多次,所有实例都将被替换。如果你只想做一个版本,你将不得不调用替换,并确保在做替换之前SubString的其余部分。