GRIDRAD

本文介绍如何使用 Telerik RadGrid 控件实现数据的增删改查(CRUD)功能,包括设置控件属性、配置编辑命令列、自定义用户控件以及异常处理等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1,直接拖一个控件下来,进行数据绑定。注意需要有主键,生成相关update,insert,delete语句

2,设置image

3、MasterTableView 增加:

CommandItemDisplay="Top" EditMode="InPlace"

4、<Columns>内,增加:

              (1)<radg:GridEditCommandColumn ButtonType="ImageButton" UpdateImageUrl="./Img/Update.gif"
                   EditImageUrl="./Img/Edit.gif" InsertImageUrl="./Img/Insert.gif"
                   CancelImageUrl="./Img/Cancel.gif" InsertText="插入新值" EditText="编辑" UpdateText="修改" CancelText="取消">
                       <HeaderStyle Width="20px" />
                       <ItemStyle CssClass="MyImageButton" />
                   </radg:GridEditCommandColumn>

                (2)

<radG:GridButtonColumn ConfirmText="确认删除么?" ButtonType="ImageButton" ImageUrl="./Img/Delete.gif" CommandName="Delete" Text="删除" UniqueName="DeleteColumn">
                        <HeaderStyle Width="20px" />
                        <ItemStyle HorizontalAlign="Center" CssClass="MyImageButton" />
                    </radG:GridButtonColumn>

5、</MasterTableView>结束前,增加:

               <CommandItemSettings AddNewRecordText="增加" RefreshText="刷新" />
<EditFormSettings>
    <EditColumn CancelText="取消" InsertText="插入新值" UpdateText="修改">
    </EditColumn>
</EditFormSettings>

 

6、将主键设置为可编辑,redonly=false

image

7、代码中加入异常处理等语句:(直接复制进入即可)

protected void Page_Load(object sender, EventArgs e)
   {
       // this.RadGrid1.MasterTableView.EditMode = GridEditMode.EditForms;

   }
   protected void DG_SortCommand(object source, Telerik.WebControls.GridSortCommandEventArgs e)
   {

       if (!e.Item.OwnerTableView.SortExpressions.ContainsExpression(e.SortExpression))
       {
           GridSortExpression sortExpr = new GridSortExpression();
           sortExpr.FieldName = e.SortExpression;
           sortExpr.SortOrder = GridSortOrder.Ascending;
           e.Item.OwnerTableView.SortExpressions.AddSortExpression(sortExpr);
       }

   }
   protected void RadGrid1_ItemDeleted(object source, GridDeletedEventArgs e)
   {

   }
   protected void RadGrid1_ItemInserted(object source, GridInsertedEventArgs e)
   {
       if (e.Exception != null)
       {
           e.ExceptionHandled = true;
           DisplayMessage("无法插入数据: " + e.Exception.Message);
       }
       else
       {
           DisplayMessage("插入成功");
       }
      // DG.Rebind();
   }


   protected void RadGrid1_ItemUpdated(object source, GridUpdatedEventArgs e)
   {
       if (e.Exception != null)
       {
           e.KeepInEditMode = false;
           e.ExceptionHandled = true;
           DisplayMessage("无法修改 " + e.Item["ADDVCD"].Text +"由于: " + e.Exception.Message);
       }
       else
       {
           e.KeepInEditMode = false;
           DisplayMessage("修改 " + e.Item["ADDVCD"].Text + " 成功");
       }
    //   DG.Rebind();
   }


   private void DisplayMessage(string text)
   {
       this.RadGrid1.Controls.Add(new LiteralControl(text));
   }

 

 

制作报表编辑USERCONTROL:

1)在</MasterTableView>结束之前加入:

<EditFormSettings UserControlName="UserControl/WR_DFAG_B.ascx" EditFormType="WebUserControl">
               <EditColumn UniqueName="EditCommandColumn1">
               </EditColumn>
           </EditFormSettings>

2)按普通方式制作一个usercontrol。在代码中声明:

public object DataItem
   {
       get
       {
           return this._dataItem;
       }
       set
       {
           this._dataItem = value;
       }
   }

3)对每个字段绑定:<%# DataBinder.Eval( Container, "DataItem.DFAGNM") %>
        <asp:TextBox
        ID="TextBox11" runat="server" Text='<%# DataBinder.Eval( Container, "DataItem.DFAGNM") %>'    

 

4)对按钮增加CommandName如下。注意,直接的点击时间也要写OnClick="btnUpdate_Click"即数据库操作代码

<asp:Button ID="btnUpdate" runat="server"
            CommandName="Update" Text="修改" Visible="<%# !(DataItem is Telerik.WebControls.GridInsertionObject) %>" OnClick="btnUpdate_Click" /><asp:Button
                ID="btnInsert" runat="server"  CommandName="PerformInsert" Text="插入" Visible="<%# DataItem is Telerik.WebControls.GridInsertionObject %>" OnClick="btnInsert_Click" /><asp:Button
                    ID="btnCancel" runat="server" CausesValidation="False" CommandName="Cancel" Text="取消" /></radA:RadAjaxPanel>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值