【问题标题】:How to change a Radgrid column value after binding?绑定后如何更改 Radgrid 列值?
【发布时间】:2015-03-23 16:17:54
【问题描述】:

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

我的列名是 IsShadow,它绑定了真或假。我无法改变它。如果值为 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"] = ???
                }
}

谢谢。

【问题讨论】:

  • 您想用另一个文本替换真/假或者您需要更改编辑列文本。
  • 我想用另一个文本替换,而不是更新内容。 @JayeshGoyani

标签: sql data-binding telerik radgrid


【解决方案1】:

请尝试使用下面的代码 sn-p,如果有任何问题,请告诉我。

// 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";
}

【讨论】:

    【解决方案2】:

    您可能需要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>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-12-08
      • 1970-01-01
      • 1970-01-01
      • 2012-05-21
      • 2012-03-12
      • 1970-01-01
      • 2011-10-27
      相关资源
      最近更新 更多