我需要遍历 ItemDatabound 事件中的 RadGrid 单元格并修改单元格值。Telerik 支持站点上的所有示例都通过使用唯一列名称来实现这一点。在我的情况下,我需要通过迭代单元格值、检索值然后设置新值而不使用列 Uniquename 来实现这一点。
有任何想法吗?
我需要遍历 ItemDatabound 事件中的 RadGrid 单元格并修改单元格值。Telerik 支持站点上的所有示例都通过使用唯一列名称来实现这一点。在我的情况下,我需要通过迭代单元格值、检索值然后设置新值而不使用列 Uniquename 来实现这一点。
有任何想法吗?
想通了 - 在 ItemDataBound 中:
if (e.Item is GridDataItem)
{
GridDataItem dataItem = e.Item as GridDataItem;
int columnCount = ((DataRowView)dataItem.DataItem).Row.Table.Columns.Count;
string cellValue = string.Empty;
string uniqueColumnname = string.Empty;
for (int x = 0; x < columnCount; x++)
{
uniqueColumnname = ((DataRowView)dataItem.DataItem).Row.Table.Columns[x].ToString();
cellValue = ((DataRowView)dataItem.DataItem)[uniqueColumnname].ToString();
if (string.IsNullOrEmpty(cellValue.ToString()))
{
TableCell cell = dataItem[uniqueColumnname];
cell.Text = "n/a";
}
}
}
protected void RadGrid_ItemDataBound(object sender, GridItemEventArgs e)
{
foreach (GridColumn column in RadGrid.MasterTableView.RenderColumns)
{
else if (column.UniqueName == "NewLink")
{
e.Item.Attributes["onclick"] = String.Format("return NCommand('{0}');", e.Item.OwnerTableView.DataKeyValues[e.Item.ItemIndex]["MyId"]);
}
else if (column.UniqueName == "Addk")
{
e.Item.Attributes["onclick"] = String.Format("return AddCommand('{0}');", e.Item.OwnerTableView.DataKeyValues[e.Item.ItemIndex]["MyId"]);
}
else if (column.UniqueName == "Details")
{
e.Item.Attributes["onclick"] = String.Format("return SOPDetailsCommand('{0}');", e.Item.OwnerTableView.DataKeyValues[e.Item.ItemIndex]["MyId"]);
}
}