【问题标题】:Set all RadTreeList items to edit mode将所有 RadTreeList 项设置为编辑模式
【发布时间】:2013-04-25 18:12:03
【问题描述】:

我一直在使用 Telerik RadGrids,在填充网格时将所有项目设置为编辑模式没有任何问题。

protected void RadGrid1_ItemCreated(object sender, Telerik.Web.UI.GridItemEventArgs e)
{
    if (e.Item is GridEditableItem)
    {
        e.Item.Edit = true;
    }
}

现在我正在使用 Telerik RadTreeList,我想做类似的事情。有什么可能的方法吗?据我一直在搜索,我还没有找到任何可能的解决方案。

【问题讨论】:

    标签: c# asp.net telerik radtreelist


    【解决方案1】:

    你检查过http://www.telerik.com/help/aspnet-ajax/treelist-server-side-basics.html吗?

    RadTreeList 也有一个 ItemCreated 事件。

    你可以试试吗?

    protected void RadTreeList1_ItemCreated(object sender, TreeListItemCreatedEventArgs e)
    {
        if (e.Item is TreeListDataItem)
        {
            TreeListDataItem item = e.Item as TreeListDataItem;
            item.Edit = true;
        }
    }
    

    【讨论】:

    • 感谢您的回答,是的,RadTreeList 也有一个 ItemCreated 事件,但我无法找到一个“编辑”属性,我可以将其设置为 true。谢谢!
    • 再次感谢,此时 ItemCreated 事件被触发并且 item.Edit 属性设置为 true。但我相信这里的问题是属性“IsInEditMode”仍然设置为false。所以此时,找不到 EditItemTemplate 控件,只有应该以只读模式显示的 ItemTemplates。
    • 我能想到的一点是RadTreeList的默认编辑模式是EditForms。看看这里,看看是否有任何适用于你。 telerik.com/help/aspnet-ajax/treelist-edit-modes.html
    • 我已经为编辑模式配置了“InPlace”。使用 RadGrid 效果很好,但我在使用 RadTreeList 时遇到了问题。
    【解决方案2】:

    解决方法如下:

    protected void RadTreeList1_PreRender(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            foreach (TreeListDataItem item in RadTreeList1.Items)
            {
                if (item is TreeListDataItem)
                {
                    item.Edit = true;
                }
            }
            RadTreeList1.Rebind();
        }
    }
    

    (!IsPostBack) 条件取决于是否在 Page_Load 处填充了 TreeListDataItem。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-20
      • 2012-02-05
      • 1970-01-01
      • 2020-01-30
      • 2010-12-10
      • 1970-01-01
      相关资源
      最近更新 更多