绑定后如何更改 Radgrid 列值?

How to change a Radgrid column value after binding?

我有一个 Radgrid,我用 SqlAdapter 绑定了它。我的问题是我只想更改一列的值。那可能吗?

我的专栏名称是 IsShadow,它绑定 true 或 false。我无法改变它。如果值为 false 或 true,我会更改列文本的外观,而不是数据库更新。

我试过的代码

foreach (Telerik.Web.UI.GridDataItem dataItem in gridShadow.MasterTableView.Items)
            {
                bool flag = Convert.ToBoolean(dataItem.GetDataKeyValue("IsShadow"));
                GridEditableItem editedItem = dataItem as GridEditableItem;
if (!flag)
                {
                    TableCell tableCell = editedItem["IsShadow"] = ???
                }
}

谢谢。

请尝试使用以下代码片段,如有任何疑问,请告诉我。

// Normal Mode
if (e.Item is GridDataItem)
{
    GridDataItem item = (GridDataItem)e.Item;
    item["IsShadow"].Text = "Your new text";
}

// Edit Mode
if ((e.Item is GridEditableItem) && (e.Item.IsInEditMode))
{
    GridEditableItem editItem = (GridEditableItem)e.Item;
    (editItem["IsShadow"].Controls[0] as TextBox).Text = "Your new text";
}

您可能需要 GridTemplateColumn

ItemTemplate 中,您将检查 IsShadow 的值并显示一些文本,但在 EditItemTemplate 中,您可能只需要true/false.

的复选框
<telerik:GridTemplateColumn HeaderText="Is Shadow" UniqueName="TemplateColumn">
  <EditItemTemplate>    
    <asp:CheckBox id="editChkBox" runat="server"      
  Checked='<%# Bind("IsShadow") %>'>     
    </asp:CheckBox>
  </EditItemTemplate>
  <ItemTemplate>      
    <asp:Lable id="lblIsShadow" runat="server"      
  Text='<%# Convert.ToBoolean(Eval("IsShadow")) == true ? "it is shadow" : "Not shadow" %>'>    
    </asp:CheckBox>   
  </ItemTemplate>
</telerik:GridTemplateColumn>