关于第三方控件Telerik的RadGrid

界面内容:

    <telerik:RadScriptManager ID="RadScriptManager1" runat="server"></telerik:RadScriptManager>
     <telerik:RadSkinManager runat="server" ID="RadSkinManager1" ShowChooser="True" PersistenceKey="QsfSkin"
        PersistenceMode="Session" Skin="Windows7" Visible="false" />
        <telerik:RadGrid ID="Grid_RemoteAreaAllowance" runat="server" AutoGenerateColumns="false"
            AllowAutomaticInserts="true" AllowAutomaticUpdates="true" ShowStatusBar="true"
            OnDeleteCommand="ActionAllowance_DeleteCommand"
            OnNeedDataSource="ActionAllowance_NeedDataSource"
            OnUpdateCommand="ActionAllowance_UpdateCommand"
            OnInsertCommand="ActionAllowance_InsertCommand"
            AllowPaging="true" PageSize="10"
            OnItemCreated="Grid_MuslimAllowance_ItemCreated"
            OnPageIndexChanged="ActionAllowance_PageIndexChanged">
            <MasterTableView NoMasterRecordsText="暂没有数据" EditMode="InPlace" DataKeyNames="Id"
                TableLayout="Fixed" CommandItemDisplay="Top">
                <Columns>
                    <telerik:GridTemplateColumn HeaderText="编码">
                        <ItemTemplate>
                            <%#Eval("Id")%>
                        </ItemTemplate>
                        <EditItemTemplate>
                            <asp:Label ID="Code" Text='<%#Eval("Id") %>' runat="server"></asp:Label>
                        </EditItemTemplate>
                        <InsertItemTemplate>
                           <%-- <telerik:RadTextBox ID="tb_Code" Text='<%#Eval("Id") %>' runat="server" Enabled="false">
                            </telerik:RadTextBox>--%>
                        </InsertItemTemplate>
                    </telerik:GridTemplateColumn>
                    <telerik:GridTemplateColumn HeaderText="RemoteArea">
                    <ItemTemplate>
                        <%#GetAreaByCode(Eval("Fk_RemoteArea_Code").ToString())%>
                    </ItemTemplate>
                    <EditItemTemplate>
                        <telerik:RadComboBox ID="cb_Fk_RemoteArea_Code" runat="server">
                        </telerik:RadComboBox>
                    </EditItemTemplate>
                </telerik:GridTemplateColumn>
                   <telerik:GridTemplateColumn HeaderText="工作职位等级">
                    <ItemTemplate>
                        <%#GetByCode(Eval("Fk_PositionLevel_Code").ToString())%>
                    </ItemTemplate>
                    <EditItemTemplate>
                        <telerik:RadComboBox ID="cb_Fk_PositionLevel_Code" runat="server">
                        </telerik:RadComboBox>
                    </EditItemTemplate>
                </telerik:GridTemplateColumn>
                <telerik:GridTemplateColumn HeaderText="标准">
                    <ItemTemplate>
                        <%#Eval("Standards")%>
                    </ItemTemplate>
                    <EditItemTemplate>
                        <telerik:RadNumericTextBox ID="Standards" runat="server" DecimalDigits="0" NumberFormat-DecimalDigits="0"
                            Text='<%#Eval("Standards") %>' Type="Number">
                        </telerik:RadNumericTextBox>
                        <asp:RequiredFieldValidator ID="StandardsCheck" runat="server" ControlToValidate="Standards"
                            Display="Dynamic" ErrorMessage="*" ForeColor="Red" />
                    </EditItemTemplate>
                </telerik:GridTemplateColumn>

                    <telerik:GridEditCommandColumn ButtonType="LinkButton" InsertText="添加" UpdateText="更新"
                        CancelText="取消" EditText="编辑" UniqueName="EditCommandColumn">
                        <HeaderStyle Width="85px"></HeaderStyle>
                    </telerik:GridEditCommandColumn>
                    <telerik:GridButtonColumn CommandName="delete" ConfirmText="确定删除此项吗?" ButtonType="LinkButton"
                        Text="删除">
                    </telerik:GridButtonColumn>
                </Columns>
                <CommandItemTemplate>
                    <div style="padding: 5px 5px;">
                        &nbsp;&nbsp;&nbsp;&nbsp;
                        <asp:LinkButton ID="btnInitInsert" runat="server" CommandName="InitInsert" Text="新增"></asp:LinkButton>
                        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                    </div>
                </CommandItemTemplate>
            </MasterTableView>
        </telerik:RadGrid>

 

CS代码:

 protected void Page_Load(object sender, EventArgs e)
        {
            Grid_RemoteAreaAllowance.DataSource = RemoteAreaAllowanceAllowanceBLL.GetRemoteAreaAllowanceAll();
        }
        /// <summary>
        /// 下拉绑定
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void Grid_MuslimAllowance_ItemCreated(object sender, GridItemEventArgs e)
        {
            if (e.Item is GridEditableItem && e.Item.IsInEditMode)
            {
                RadComboBox cb_Fk_PositionLevel_Code = (RadComboBox)(e.Item.FindControl("cb_Fk_PositionLevel_Code"));
                if (cb_Fk_PositionLevel_Code == null)
                    return;
                cb_Fk_PositionLevel_Code.DataSource = PositionLevelBLL.GetAll();
                cb_Fk_PositionLevel_Code.DataTextField = "Name";
                cb_Fk_PositionLevel_Code.DataValueField = "Code";

                RadComboBox cb_Fk_RemoteArea_Code = (RadComboBox)(e.Item.FindControl("cb_Fk_RemoteArea_Code"));
                if (cb_Fk_RemoteArea_Code == null)
                    return;
                cb_Fk_RemoteArea_Code.DataSource = RemoteAreaBLL.GetRemoteAreaAll();
                cb_Fk_RemoteArea_Code.DataTextField = "Name";
                cb_Fk_RemoteArea_Code.DataValueField = "Code";
            }
        }
        /// <summary>
        ///  根据code查询RemoteArea
        /// </summary>
        /// <param name="code"></param>
        /// <returns></returns>
        protected string GetAreaByCode(string code)
        {
            HrmisDAL.RemoteArea model = new  HrmisDAL.RemoteArea();
            model = RemoteAreaBLL.GetRemoteAreaByid(code);
            return model.Name;
        }
        /// <summary>
        /// 根据code查询PositionLevel
        /// </summary>
        /// <param name="code"></param>
        /// <returns></returns>
        protected string GetByCode(string code)
        {
            PositionLevel model = new PositionLevel();
            model = PositionLevelBLL.GetRecordByCode(code);
            return model.Name;
        }
        protected void ActionAllowance_PageIndexChanged(object sender, Telerik.Web.UI.GridPageChangedEventArgs e)
        {
            Grid_RemoteAreaAllowance.DataSource = RemoteAreaAllowanceAllowanceBLL.GetRemoteAreaAllowanceAll();
        }
        /// <summary>
        /// 删除 事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void ActionAllowance_DeleteCommand(object sender, Telerik.Web.UI.GridCommandEventArgs e)
        {
            try
            {
                string code = e.Item.OwnerTableView.DataKeyValues[e.Item.ItemIndex]["Id"].ToString();
                RemoteAreaAllowanceAllowanceBLL.DeleteRemoteAreaAllowanceByid(Convert.ToInt32(code));
                ScriptManager.RegisterStartupScript(this, this.GetType(), "focus", "alert('删除成功');", true);
                Grid_RemoteAreaAllowance.DataSource = RemoteAreaAllowanceAllowanceBLL.GetRemoteAreaAllowanceAll();
            }
            catch (Exception ex)
            {
                ScriptManager.RegisterStartupScript(this, this.GetType(), "focus", "alert('删除失败," + ex.Message + "!');", true);
            }
        }
        protected void ActionAllowance_NeedDataSource(object sender, Telerik.Web.UI.GridNeedDataSourceEventArgs e)
        {
            Grid_RemoteAreaAllowance.DataSource = RemoteAreaAllowanceAllowanceBLL.GetRemoteAreaAllowanceAll();
        }
        /// <summary>
        /// 修改事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void ActionAllowance_UpdateCommand(object sender, Telerik.Web.UI.GridCommandEventArgs e)
        {
            try
            {
                GridEditableItem editedItem = e.Item as GridEditableItem;
                string Code = (editedItem.FindControl("Code") as Label).Text;

                HrmisDAL.RemoteAreaAllowance Model =
                    RemoteAreaAllowanceAllowanceBLL.GetRemoteAreaAllowanceByid(Convert.ToInt32(Code));
                Model.Fk_PositionLevel_Code = (editedItem.FindControl("cb_Fk_PositionLevel_Code") as RadComboBox).SelectedValue;
                Model.Fk_RemoteArea_Code = (editedItem.FindControl("cb_Fk_RemoteArea_Code") as RadComboBox).SelectedValue;
                Model.Standards = Convert.ToDecimal((editedItem.FindControl("Standards") as RadNumericTextBox).Text);

                RemoteAreaAllowanceAllowanceBLL.UpdateRemoteAreaAllowance(Model);

                ScriptManager.RegisterStartupScript(this, this.GetType(), "focus", "alert('更新成功');", true);
                Grid_RemoteAreaAllowance.MasterTableView.Items[e.Item.ItemIndex].Edit = false;//关闭当前修改窗口
                Grid_RemoteAreaAllowance.DataSource = RemoteAreaAllowanceAllowanceBLL.GetRemoteAreaAllowanceAll();
            }
            catch (Exception ex)
            {
                ScriptManager.RegisterStartupScript(this, this.GetType(), "focus", "alert('更新失败," + ex.Message + "!');", true);
            }
        }
        /// <summary>
        /// 添加 事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void ActionAllowance_InsertCommand(object sender, GridCommandEventArgs e)
        {
            try
            {
                GridEditableItem editedItem = e.Item as GridEditableItem;

                HrmisDAL.RemoteAreaAllowance Model = new HrmisDAL.RemoteAreaAllowance();
                Model.Fk_PositionLevel_Code = (editedItem.FindControl("cb_Fk_PositionLevel_Code") as RadComboBox).SelectedValue;
                Model.Fk_RemoteArea_Code = (editedItem.FindControl("cb_Fk_RemoteArea_Code") as RadComboBox).SelectedValue;
                Model.Standards = Convert.ToDecimal((editedItem.FindControl("Standards") as RadNumericTextBox).Text);

                RemoteAreaAllowanceAllowanceBLL.AddRemoteAreaAllowance(Model);

                ScriptManager.RegisterStartupScript(this, this.GetType(), "focus", "alert('添加成功');", true);
                Grid_RemoteAreaAllowance.DataSource = RemoteAreaAllowanceAllowanceBLL.GetRemoteAreaAllowanceAll();
                Grid_RemoteAreaAllowance.Rebind();
            }
            catch (Exception ex)
            {
                ScriptManager.RegisterStartupScript(this, this.GetType(), "focus", "alert('添加失败," + ex.Message + "!');", true);
            }
        }

posted on 2012-09-04 17:03  Fancy_huihui  阅读(674)  评论(0)    收藏  举报