【问题标题】:How to iterate Telerik Asp.net RadGrid Cells and modify the cell value如何迭代 Telerik Asp.net RadGrid 单元格并修改单元格值
【发布时间】:2013-06-16 02:05:05
【问题描述】:

我需要遍历 ItemDatabound 事件中的 RadGrid 单元格并修改单元格值。 Telerik 支持站点上的所有示例都通过使用唯一列名称来实现这一点。在我的情况下,我需要通过迭代单元格值、检索值然后设置一个新值而不使用列 Uniquename 来实现这一点。

有什么想法吗?

【问题讨论】:

    标签: telerik-grid


    【解决方案1】:

    想通了 - 在 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";
                        }
                    }
        }
    

    【讨论】:

    • 这只是救了我,它还允许您添加自定义 jscript 而无需担心 radcodeblocks 或回发,并在下面查看我的答案
    【解决方案2】:
    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"]);
                }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-06
      • 2021-12-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多