Asp.net RadGrid使字段在编辑时不可见

Asp.net RadGrid使字段在编辑时不可见,asp.net,telerik,telerik-grid,radgrid,Asp.net,Telerik,Telerik Grid,Radgrid,这只是一个建议的替代方案。我曾与telerik合作过几次,至少可以说这是一种痛苦。您还可以向父容器添加第三个条件。如果处于编辑模式,则显示类,例如“编辑”或“当前”。如果未处于编辑模式,则不显示该类。然后,在CSS中,您可以选择要隐藏的任何元素 protected void rdReport_ItemDataBound(object sender, GridItemEventArgs e) { // Edit Mode if ((e.Item is GridEditFormIte

这只是一个建议的替代方案。我曾与telerik合作过几次,至少可以说这是一种痛苦。您还可以向父容器添加第三个条件。如果处于编辑模式,则显示类,例如“编辑”或“当前”。如果未处于编辑模式,则不显示该类。然后,在CSS中,您可以选择要隐藏的任何元素

protected void rdReport_ItemDataBound(object sender, GridItemEventArgs e)
{
    // Edit Mode
    if ((e.Item is GridEditFormItem) && (e.Item.IsInEditMode))
    {
        GridEditFormItem fndColumn = (GridEditFormItem)e.Item;
        fnColumn["Field1Value"].Parent.Visible = false;
    }
}
至于你的telerik控件,我刚从你的代码中抓取了一些东西,你可以做以下操作来添加你的类:

div.edit input.uniqueclass { display: none; }
我在上面的控件中添加了CssClass=uniqueclass


我提供的只是一个例子。我希望你能找到它的用处。谢谢

您提供的解决方案非常完美,但如果您还可以在每列中添加UniqueName属性,那就太好了。如果我们不指定UNIQUAMED,则将DATAFIELD值视为UniqueName。 ASPX


如果您需要更多信息,请告诉我。

我建议使用服务器端可见属性代替客户端显示属性。可能有些用户正在使用开发工具更改其在浏览器中的显示属性,并更新/查看其值。我是UI开发人员,而不是服务器端:但是的,我认为服务器端代码解决方案更好。我只是想提出一个替代方案。谢谢,杰耶什。
<div>
<input type="text" id="whateverisgenerated" class="uniqueclass" />
</div>
<div class="edit">
<input type="text" id="whateverisgenerated" class="uniqueclass" />
</div>
div.edit input.uniqueclass { display: none; }
<telerik:GridButtonColumn ConfirmText="Delete?" ConfirmDialogType="RadWindow" ConfirmTitle="Delete" ButtonType="ImageButton" CommandName="Delete" CssClass="uniqueclass" />
<telerik:GridButtonColumn DataField="Field1Value" HeaderText="Custom Field1" UniqueName="Field1Value" />
protected void rdReport_ItemDataBound(object sender, GridItemEventArgs e)
{
    // Edit Mode
    if ((e.Item is GridEditFormItem) && (e.Item.IsInEditMode))
    {
        GridEditFormItem fndColumn = (GridEditFormItem)e.Item;
        fnColumn["Field1Value"].Parent.Visible = false; // "Field1Value" is column uniquename
    }
}