c# - 如何将单元格格式化事件方法添加到动态创建的 radgrid 代码后面?
问题描述
我在后面的代码上创建了一个 rad 网格。现在我想向它添加单元格格式化事件。我怎样才能做到这一点?
RadGrid grid = new RadGrid();
grid.ID = "rdggrid";
grid.Skin = "Metro";
grid.Width = Unit.Percentage(100);
grid.PageSize = 15;
grid.AllowPaging = true;
grid.PagerStyle.Mode = GridPagerMode.NextPrevAndNumeric;
grid.AutoGenerateColumns = false;
grid.MasterTableView.Width = Unit.Percentage(100);
grid.ClientSettings.Resizing.AllowColumnResize = true;
grid.ClientSettings.Resizing.ResizeGridOnColumnResize = true;
grid.ClientSettings.Resizing.AllowResizeToFit = true;
grid.ItemDataBound += new GridItemEventHandler(RadGrid_ItemDataBound);
我想添加这个方法
void radGrid_CellFormatting(object sender, Telerik.WinControls.UI.CellFormattingEventArgs e)
{
}
解决方案
与用于 WinForms的 RadGridView 不同,用于 ASP.NET AJAX (WebForms) 的 RadGrid 不提供 CellFormatting 服务器端事件。您可以使用 RadGrid for ASP.NET AJAX 的 ItemDataBound 事件来设置单元格的样式:
protected void RadGrid_ItemDataBound(object sender, GridItemEventArgs e)
{
if (e.Item is GridDataItem)
{
GridDataItem item = (GridDataItem)e.Item;
if (Convert.ToInt32(((DataRowView)item.DataItem)["Column"]) < value)
{
TableCell cell = item["Column"];
cell.BackColor = Color.PeachPuff;
}
}
}
或者
protected void RadGrid_ItemDataBound(object sender, GridItemEventArgs e)
{
foreach (GridDataItem dataItem in RadGridProduct.MasterTableView.Items)
{
int cellCount = dataItem.Cells.Count;
foreach (GridTableCell item in dataItem.Cells)
{
if (item.Text == null ||Convert.ToInt32(item.Text) < 0 )
item.BackColor = System.Drawing.Color.Brown;
}
}
}
推荐阅读
- mysql - 如何将 sql 转储导入 mysql 数据库
- laravel - 如何在laravel中的视图内显示数组值
- node.js - 我该如何解决这个问题,res.json 不是函数
- java - 纸牌游戏规则:从一副纸牌中抽出手牌(没有小丑)。仅在有牌时打牌
- ruby-on-rails - 从 RDS 导出数据库,然后创建 postgres 数据库的本地副本
- php - 正则表达式,在php中获取数字之间的字符串
- python - Excel 到 Pandas 的计算可能性
- python - 如果匹配条件,则将值乘以变量,否则乘以另一个变量
- html - 如何在添加组件时使用类似于我们在 jira 中使用的 html 创建一个可添加的下拉列表?
- java - 如何将文件从 Quarkus 发送到 Spring Boot 应用程序?