2

ItemDatabound イベントで RadGrid セルを反復処理し、セル値を変更する必要があります。Telerik サポート サイトのすべての例では、一意の列名を使用してこれを実現しています。私の状況では、セルの値を繰り返し、値を取得してから、Uniquename 列を使用せずに新しい値を設定することで、これを実現する必要があります。

何か案は?

4

2 に答える 2

2

それを考え出した-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";
                    }
                }
    }
于 2013-06-16T02:46:49.377 に答える
0
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"]);
            }
}
于 2014-02-26T15:46:11.933 に答える