telerik:RadGrid

前台:
   <telerik:RadGrid ID="RadGrid1" runat="server" AutoGenerateColumns="False" Width="710px"
       Height="150px"  HeaderStyle-Wrap="false "  CommandItemStyle-Wrap="false"  -----------------内容和标题不换行
                                   CellSpacing="0" Culture="zh-CN" DataSourceID="sdsSaleOrderDetails" AllowAutomaticDeletes="True"
                                AllowAutomaticInserts="True" GridLines="None" OnInsertCommand="RadGrid1_InsertCommand"
                                OnItemCommand="RadGrid1_ItemCommand" OnItemUpdated="RadGrid1_ItemUpdated" OnUpdateCommand="RadGrid1_UpdateCommand"
                                OnDeleteCommand="RadGrid1_DeleteCommand" OnItemEvent="RadGrid1_ItemEvent" >
                                 <ClientSettings EnableRowHoverStyle="true"> ------------------ onmouesover out 有样式
                                    <Selecting AllowRowSelect="true" />----------------------------允许选中行
                                    <Scrolling AllowScroll="true" />------------------------------------有滚动条
                                </ClientSettings>

                                <MasterTableView CommandItemDisplay="Top" DataKeyNames="SalesItemNo" DataSourceID="sdsSaleOrderDetails">
                                     <CommandItemSettings ExportToPdfText="Export to PDF" AddNewRecordText="添加" RefreshText="刷新">
                                    </CommandItemSettings>

                                    <RowIndicatorColumn FilterControlAltText="Filter RowIndicator column">
                                        <HeaderStyle Width="20px"></HeaderStyle>
                                    </RowIndicatorColumn>
                                    <ExpandCollapseColumn FilterControlAltText="Filter ExpandColumn column">
                                        <HeaderStyle Width="20px"></HeaderStyle>
                                    </ExpandCollapseColumn>
                                    <Columns>
                                         <telerik:GridTemplateColumn>
                                            <ItemTemplate>
                                                <asp:LinkButton ID="butup" runat="server" CommandName="update" Text="编辑" CommandArgument='<%#Eval("SalesItemNo") %>' />
                                            </ItemTemplate>
                                        </telerik:GridTemplateColumn>
                                        <telerik:GridButtonColumn ButtonType="ImageButton" CommandName="Delete" ConfirmDialogType="RadWindow"
                                            ConfirmText="确认要删除?" ConfirmTitle="提示信息" FilterControlAltText="Filter column column"
                                            HeaderText="删除" UniqueName="column">
                                        </telerik:GridButtonColumn>

                                        <telerik:GridBoundColumn DataField="SalesItemNo" DataType="System.Int32" FilterControlAltText="Filter SalesItemNo column"
                                            HeaderText="明细号" ReadOnly="True" SortExpression="SalesItemNo" UniqueName="SalesItemNo"
                                            Visible="False">
                                        </telerik:GridBoundColumn>
                                        <telerik:GridBoundColumn DataField="PartCode" FilterControlAltText="Filter PartCode column"
                                            HeaderText="SKU" SortExpression="PartCode" UniqueName="PartCode">
                                        </telerik:GridBoundColumn>
                                        <telerik:GridBoundColumn DataField="PartName" FilterControlAltText="Filter PartName column"
                                            HeaderText="名称" SortExpression="PartName" UniqueName="PartName">
                                        </telerik:GridBoundColumn>
                                    </Columns>
                                     <NoRecordsTemplate>
                                        <div style="color: #F00; height: 40px; line-height: 40px;">
                                            <span style="margin-left: 10px; font-size: 14px; font-weight: bold;">还没有选择产品!</span>
                                        </div>
                                    </NoRecordsTemplate>

                                </MasterTableView>
                                <FilterMenu EnableImageSprites="False">
                                </FilterMenu>
                                <HeaderContextMenu CssClass="GridContextMenu GridContextMenu_Default">
                                </HeaderContextMenu>
                            </telerik:RadGrid>

后台:

1.添加修改事件(这里的功能是弹出一个新的子窗体)

 protected void RadGrid1_ItemCommand(object sender, Telerik.Web.UI.GridCommandEventArgs e)
        {
            if (e.CommandName.ToLower() == "InitInsert".ToLower() || e.CommandName.ToLower() == "update".ToLower())
            {
                e.Canceled = true;
                string id = Request.QueryString["id"];
                string str = "";
                string SalesItemNo = e.CommandArgument.ToString();
                if (e.CommandName.ToLower() == "update".ToLower())
                {
                    str = "radopen('AddSaleOrderDetails.aspx?cust_id=" + CustomerCode + "&orderid=" + this.txtOrderid.Text.Trim() + "&SalesItemNo=" + SalesItemNo + "', 'addwind');";---------》addwind指的是 弹出窗体的名字,他在前台RadWindowManager 存在 如下代码:
                }
                else
                {
                    str = "radopen('AddSaleOrderDetails.aspx?cust_id=" + CustomerCode + "&orderid=" + this.txtOrderid.Text.Trim() + "&SalesItemNo=0', 'addwind');";
                }
                RadAjaxManager1.ResponseScripts.Add(str);

            }
        }


 <telerik:RadWindowManager ID="RadWindowManager1" runat="server">
        <Windows>
            <telerik:RadWindow ID="addwind" runat="server" Modal="True" NavigateUrl="AddSaleOrderDetails.aspx"
                Style="display: none;" Height="400px" VisibleStatusbar="False" Width="350px"
                OnClientClose="OnClientClose">
            </telerik:RadWindow>

 </Windows>
</telerik:RadWindowManager>


2. 添加时要在后台给的参数

  protected void RadGrid1_InsertCommand(object sender, Telerik.Web.UI.GridCommandEventArgs e)
        {
            sdsSaleOrderDetails.InsertParameters["CompanyCode"].DefaultValue = Session["Company"].ToString();
            sdsSaleOrderDetails.InsertParameters["ProjectCode"].DefaultValue = Session["Project"].ToString();
            sdsSaleOrderDetails.InsertParameters["SalesOrderNo"].DefaultValue = this.txtOrderid.Text;
        }

3.删除事件

 string deletsql = "delete from SaleOrderDetails where SalesOrderNo='" + ViewState["SalesOrderNo"].ToString() + "'";
            deletsql += ";delete from SaleOrderDiscounts where SalesOrderNo='" + ViewState["SalesOrderNo"].ToString() + "'";
            deletsql += "; delete from SaleOrders where SalesOrderNo='" + ViewState["SalesOrderNo"].ToString() + "'";
            sdsSaleOrder.DeleteCommand = deletsql;
           int i= sdsSaleOrder.Delete();-----------------------------------》sql语句能这样写



4.如果弹出的添加窗体需要再弹出一个窗体那么在添加窗体中如下 :

前台:

 <script type="text/javascript">
     function GetRadWindow() {
         var oWindow = null;
         if (window.radWindow) oWindow = window.radWindow;
         else if (window.frameElement.radWindow) oWindow = window.frameElement.radWindow;
         return oWindow;
     }


     function openWin2() {
         var parentPage = GetRadWindow().BrowserWindow;
         var parentRadWindowManager = parentPage.GetRadWindowManager();
         var oWnd2 = parentRadWindowManager.open("../PM/SelectProduct.aspx?str=1", "RadWindow2");-----------------弹出的第二个窗体


         window.setTimeout(function () {
             oWnd2.setActive(true);
         }, 0);

         }

《--

  <input  id="inpusherch" runat="server" type="button" value="..."  οnclick="openWin2();" />

--》      



       function getstr(arg)------------第二个窗体所调用的方法
       {
           var result = arg;
          var arr=result.split("|"); 
           var product_sku =arr[0];
           var skuname = arr[1];
           var prices = arr[2];
           var oldprice = arr[3];
           var objSelect = document.getElementById("txtsku");
           var name = document.getElementById("txtskuname");
          var  price = document.getElementById("txtprice");
          var old = document.getElementById("txtoldprice");
          var xiaoji = document.getElementById("txtxiaoji");
          var Discount = document.getElementById("txtDiscount");
           objSelect.value = product_sku;
           name.value = skuname;
           price.value = prices;
           old.value = oldprice;
           xiaoji.value = 0;
           Discount.value = 0;
           var hidsku = document.getElementById("HiddenField1");
           hidsku.value = product_sku;

         
       }



 function returnToParent(saveok) {
         //create the argument that will be returned to the parent page
         var oArg = new Object();


         //get the city's name            
         oArg.saveok = saveok;


         //get the selected date from RadDatePicker
           


         //get a reference to the current RadWindow
         var oWnd = GetRadWindow();
         oWnd.close(oArg);
          
     }


   function RadButton3_Click(sender, args)
   {
       args.set_cancel(true);
 
       returnToParent('0');
       
   }-----------------点取消按钮时调用

第二个窗体的前台

 <script   type="text/javascript">


        function GetRadWindow() {
                    var oWindow = null;
                    if (window.radWindow) oWindow = window.radWindow;
                    else if (window.frameElement.radWindow) oWindow = window.frameElement.radWindow;
                    return oWindow;
                }
                function RowDblClick(sender, eventArgs) {


                //获取gird列的值:


                var pcode = eventArgs._tableView._dataItems[eventArgs._itemIndexHierarchical]._element.cells[1].innerHTML;
                var name = eventArgs._tableView._dataItems[eventArgs._itemIndexHierarchical]._element.cells[2].innerHTML;
                var price = eventArgs._tableView._dataItems[eventArgs._itemIndexHierarchical]._element.cells[3].innerHTML;
                var oldprice = eventArgs._tableView._dataItems[eventArgs._itemIndexHierarchical]._element.cells[4].innerHTML;
                var hidstr = document.getElementById("hidstr").value;





                var oWnd = GetRadWindow();


                if (hidstr == 1) {
                    var str = pcode + "|" + name + "|" + price + "|" + oldprice;
                    //get a reference to the second RadWindow 
                    var dialog1 = oWnd.get_windowManager().getWindowByName("addwind");
                    // Get a reference to the first RadWindow's content
                    var contentWin = dialog1.get_contentFrame().contentWindow


                    //Call the predefined function in Dialog1
                    contentWin.getstr(str);------调用父级方法
                    //Close the second RadWindow
                    oWnd.close();
                } else {
                    
                    var oArg = new Object();
                    oArg.code = pcode;
                    oArg.name = name;


                    if (oArg.code && oArg.name) {
                        oWnd.close(oArg);--------------------调用
                    }
                    else {
                        alert("没有取到值!");
                    }




                }
                  


                }


   </script>

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值