我有一个Radgrid,我用SqlAdapter
绑定它。我的问题是我想改变一个列的值。那可能吗?
我的列名是IsShadow,它绑定true或false。我无法改变它。如果value为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"] = ???
}
}
谢谢。
答案 0 :(得分:1)
请尝试使用以下代码段,如有任何疑问,请与我们联系。
// 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";
}
答案 1 :(得分:1)
您可能需要GridTemplateColumn
在 ItemTemplate 中,您将检查IsShadow的值并显示一些文本,但在 EditItemTemplate 中,您可能只需要一个true / false的复选框。 / p>
<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>