Telerik обновление сетки с использованием asp.net

1

В приведенном ниже коде у меня есть radgrid, который я хочу вставить, удалить, обновить в сетке. Но я не знаю, нужно ли получать значения и размещать код, потому что я новичок в элементах управления telerik.

ASP:

<telerik:RadGrid ID="RadGrid1" runat="server"   AllowPaging="True" AllowAutomaticUpdates="True" AllowAutomaticInserts="True"
        AllowAutomaticDeletes="true" AllowSorting="true" OnItemCreated="RadGrid1_ItemCreated"
        OnItemInserted="RadGrid1_ItemInserted" OnPreRender="RadGrid1_PreRender"  >
            <PagerStyle Mode="NextPrevAndNumeric" />
        <MasterTableView AutoGenerateColumns="False"
            DataKeyNames="EmployeeTypeID" CommandItemDisplay="Top">
            <Columns>
                <telerik:GridEditCommandColumn ButtonType="ImageButton" UniqueName="EditCommandColumn">
                </telerik:GridEditCommandColumn>
                <telerik:GridBoundColumn DataField="EmployeeTypeID" HeaderText="EmployeeTypeID" SortExpression="EmployeeTypeID"
                    UniqueName="EmployeeTypeID" Visible="false" >
                </telerik:GridBoundColumn>
                <telerik:GridBoundColumn DataField="EmployeeType" HeaderText="EmployeeType" SortExpression="EmployeeType"
                    UniqueName="EmployeeType">
                </telerik:GridBoundColumn>
                <telerik:GridBoundColumn DataField="CostPerDay" HeaderText="CostPerDay" SortExpression="CostPerDay"
                    UniqueName="CostPerDay">
                </telerik:GridBoundColumn>
                <telerik:GridBoundColumn DataField="WorkingHours" HeaderText="WorkingHours" SortExpression="WorkingHours"
                    UniqueName="WorkingHours">
                </telerik:GridBoundColumn>

                <telerik:GridButtonColumn Text="Delete" CommandName="Delete" ButtonType="ImageButton" />
            </Columns>
            <EditFormSettings>
                <EditColumn ButtonType="ImageButton" />
            </EditFormSettings>
        </MasterTableView>
            </telerik:RadGrid>

С#

protected void RadGrid1_ItemCreated(object sender, Telerik.Web.UI.GridItemEventArgs e)
        {
            if (e.Item is GridEditableItem && e.Item.IsInEditMode)
            {
                if (!(e.Item is GridEditFormInsertItem))
                {
                    GridEditableItem item = e.Item as GridEditableItem;
                    GridEditManager manager = item.EditManager;
                    GridTextBoxColumnEditor editor = manager.GetColumnEditor("EmployeeTypeID") as GridTextBoxColumnEditor;
                    editor.TextBoxControl.Enabled = false;
                }
            }
        }
        protected void RadGrid1_ItemInserted(object source, GridInsertedEventArgs e)
        {
            if (e.Exception != null)
            {

                e.ExceptionHandled = true;
                SetMessage("Employee cannot be inserted. Reason: " + e.Exception.Message);

            }
            else
            {
                SetMessage("New Employee is inserted!");
            }
        }
        private void DisplayMessage(string text)
        {
            RadGrid1.Controls.Add(new LiteralControl(string.Format("<span style='color:red'>{0}</span>", text)));
        }

        private void SetMessage(string message)
        {
            gridMessage = message;
        }

        private string gridMessage = null;

        protected void RadGrid1_PreRender(object sender, EventArgs e)
        {
            if (!string.IsNullOrEmpty(gridMessage))
            {
                DisplayMessage(gridMessage);
            }
        }
  • 0
    Я не уверен, что точно понимаю, в чем твоя проблема. Вы не видите поля редактирования? Кнопка удаления не отображается?
  • 0
    @paqogomez да и см. см. редактирование и удаление, но я не знаю, где разместить код редактирования и удалить код в коде позади
Теги:
telerik

2 ответа

1

У вас есть обработчик вставки в вашем ASPX, но вам не хватает обработчика удаления.

<telerik:RadGrid ID="RadGrid1" 
                 runat="server"   
                 AllowPaging="True" 
                 OnDeleteCommand="RadGrid1_DeleteCommand"
                 ...

Вставки и удаления в вашу сетку происходят автоматически, но они не происходят автоматически в вашей базе данных.

protected void RadGrid1_ItemInserted(object source, GridInsertedEventArgs e)
{
    //...ADD CODE TO INSERT TO YOUR DB HERE!
    if (e.Exception != null)
    {
     ...

Примеры редактирования Telerik

protected void RadGrid1_DeleteCommand(object source, GridInsertedEventArgs e)
{
    //...ADD CODE TO DELETE FROM YOUR DB HERE!
    ...

Пример удаления Telerik

Не забудьте переустановить сетку, чтобы увидеть результаты. RadGrid1.DataBind();

0

Другой вариант - определить операции обновления/удаления/вставки в источнике данных (например, элемент управления SqlDataSource, он имеет соответствующие команды SQL в качестве свойств и может иметь параметры) и использовать встроенные операции CRUD: http://demos. telerik.com/aspnet-ajax/grid/examples/data-editing/automatic-crud-operations/defaultcs.aspx

Ещё вопросы

Сообщество Overcoder
Наверх
Меню