在编辑模式和插入模式下有两个不同模板的最佳方法是什么?

时间:2012-01-21 23:07:52

标签: asp.net telerik radgrid

我有一个带有模板编辑表单实现的RadGrid控件。我需要编辑模式模板中的控件子集与添加模式模板中的控件子集不同。我找到了一种方法来做这种情况,但我不确定这是最好的方式。

我是通过设置面板中的控件来完成的。在后面的代码中,我检查了表单的类型,并根据条件,通过使用此代码段设置visibility属性来打开或关闭这些控件:

protected void RadGrid1_ItemDataBound(object sender, Telerik.Web.UI.GridItemEventArgs e)
   {
       if (e.Item is GridEditFormInsertItem && RadGridConferences.MasterTableView.IsItemInserted)
       {
           Panel UploadConferenceImage = e.Item.FindControl("UploadConferenceImage") as Panel;
           Panel UploadConferenceNewsletter = e.Item.FindControl("UploadConferenceNewsletter") as Panel;
           Panel ConferenceImagePanel = e.Item.FindControl("ConferenceImagePanel") as Panel;
           RadEditor RadEditorConferenceTxtBody = e.Item.FindControl("RadEditorConferenceTxtBody") as RadEditor;
           if (UploadConferenceImage != null && UploadConferenceNewsletter != null && ConferenceImagePanel != null)
           {
               UploadConferenceImage.Visible = true;
               UploadConferenceNewsletter.Visible = true;
               ConferenceImagePanel.Visible = false;
           }
           else
               return;
           if (RadEditorConferenceTxtBody != null)
           {
               RadEditorConferenceTxtBody.Style.Add("margin-top", "55px");
           }
           else
               return;
       }
   }

我找到的另一个选项是创建自己的自定义编辑器。

1 个答案:

答案 0 :(得分:1)

您的方法是我发现在网格项模板中使用不同控件集的最佳方法。您可以在编辑模板中包含所需的任何元素,然后在ItemDataBound()中自由操作它们。