hi
i am trying to darg row from a grid into another grid, after dropping the row , the onRowdrop event is fired, but for first one in serverside e.HtmlElement in undefined.
ASPX:
C#:
Thank you
i am trying to darg row from a grid into another grid, after dropping the row , the onRowdrop event is fired, but for first one in serverside e.HtmlElement in undefined.
ASPX:
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server"> <telerik:RadAjaxManager ID="RadAjaxManager1" runat="server"> <AjaxSettings> <telerik:AjaxSetting AjaxControlID="grd_DrugItems"> <UpdatedControls> <telerik:AjaxUpdatedControl ControlID="grd_DrugItems" LoadingPanelID="MasterAjaxLoadingPanel" /> <telerik:AjaxUpdatedControl ControlID="grd_DrugGroup" LoadingPanelID="MasterAjaxLoadingPanel" /> </UpdatedControls> </telerik:AjaxSetting> <telerik:AjaxSetting AjaxControlID="btn_NewGroup"> <UpdatedControls> <telerik:AjaxUpdatedControl ControlID="grd_DrugItems" LoadingPanelID="MasterAjaxLoadingPanel" /> <telerik:AjaxUpdatedControl ControlID="grd_DrugGroup" LoadingPanelID="MasterAjaxLoadingPanel" /> <telerik:AjaxUpdatedControl ControlID="txt_GroupName" /> <telerik:AjaxUpdatedControl ControlID="grd_DrugGroupMaster" LoadingPanelID="MasterAjaxLoadingPanel" /> </UpdatedControls> </telerik:AjaxSetting> <telerik:AjaxSetting AjaxControlID="grd_DrugGroupMaster"> <UpdatedControls> <telerik:AjaxUpdatedControl ControlID="grd_DrugGroupMaster" LoadingPanelID="MasterAjaxLoadingPanel" /> </UpdatedControls> </telerik:AjaxSetting> <telerik:AjaxSetting AjaxControlID="RadButton1"> <UpdatedControls> <telerik:AjaxUpdatedControl ControlID="grd_DrugItems" LoadingPanelID="MasterAjaxLoadingPanel" /> <telerik:AjaxUpdatedControl ControlID="grd_DrugGroup" LoadingPanelID="MasterAjaxLoadingPanel" /> <telerik:AjaxUpdatedControl ControlID="grd_DrugGroupMaster" LoadingPanelID="MasterAjaxLoadingPanel" /> </UpdatedControls> </telerik:AjaxSetting> </AjaxSettings> </telerik:RadAjaxManager> <div style="direction:ltr; width:770px; height:340px; margin:auto; margin-top:5px; background-image:url('Images/GroupBackground.png'); background-repeat:repeat-x; border-style:solid; border-width:1px; border-color:RGB(7,45,75);"> <div id="HeaderSeprator" style="direction:rtl;background-image:url('Images/bg_foot_forms.gif'); background-position:bottom; width:95%; height:23px; margin:auto; background-repeat:no-repeat;"> <p style="direction:rtl; margin:auto; width:-moz-max-content; margin-top:5px; font-family:Tahoma; font-size:12px; color:White;"> Please drag and drop </p> </div> <div id="ContainsGridDrugList" style="float:left; padding-left:10px; padding-right:1px; width:370px;height:270px; direction:ltr;"> <p class="HeaderTextDrugList"> drugs in pharmacy </p> <telerik:RadGrid ID="grd_DrugItems" runat="server" GridLines="None" Width="365px" onneeddatasource="grd_DrugItems_NeedDataSource" AutoGenerateColumns="False" onrowdrop="grd_DrugItems_RowDrop" AllowMultiRowSelection="True"> <ClientSettings AllowRowsDragDrop="True"> <Selecting AllowRowSelect="True" EnableDragToSelectRows="False" /> <ClientEvents OnMasterTableViewCreated="MasterTableViewGrids_Created" OnRowDropping="onRowDropping" /> <Scrolling AllowScroll="True" UseStaticHeaders="True" ScrollHeight="200px" /> </ClientSettings> <MasterTableView DataKeyNames="DrugId" TableLayout="Fixed" Width="100%" ><CommandItemSettings ExportToPdfText="Export to PDF"></CommandItemSettings><RowIndicatorColumn FilterControlAltText="Filter RowIndicator column"></RowIndicatorColumn><ExpandCollapseColumn FilterControlAltText="Filter ExpandColumn column"></ExpandCollapseColumn> <Columns> <telerik:GridBoundColumn Display="False" FilterControlAltText="Filter col_DrugId column" UniqueName="col_DrugId"> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="DrugForm" HeaderText="Form" UniqueName="col_DrugForm"> <HeaderStyle Width="70px" HorizontalAlign="Left"/> <ItemStyle HorizontalAlign="Left" Wrap="False" /> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="DrugName" HeaderText="Name" UniqueName="col_DrugName"> <HeaderStyle Width="205px" HorizontalAlign="Left" /> <ItemStyle HorizontalAlign="Left" Wrap="False" /> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="DrugDose" HeaderText="Dose" UniqueName="col_DrugDose"> <HeaderStyle Width="70px" HorizontalAlign="Left" /> <ItemStyle HorizontalAlign="Left" Wrap="False" /> </telerik:GridBoundColumn> </Columns> <EditFormSettings> <EditColumn FilterControlAltText="Filter EditCommandColumn column"></EditColumn> </EditFormSettings> </MasterTableView> <FilterMenu EnableImageSprites="False"></FilterMenu> <HeaderStyle HorizontalAlign="Left"/> <HeaderContextMenu CssClass="GridContextMenu GridContextMenu_Default"></HeaderContextMenu> </telerik:RadGrid> </div> <div id="ContainsGridGroupDrug" style=" float:right; padding-left:1px; padding-right:10px; width:370px; height:270px; direction:ltr"> <p class="HeaderTextDrugList"> drugs in group </p> <telerik:RadGrid ID="grd_DrugGroup" runat="server" AutoGenerateColumns="False" CellSpacing="0" GridLines="None" onneeddatasource="grd_DrugGroup_NeedDataSource" onrowdrop="grd_DrugGroup_RowDrop" Width="365px" AllowMultiRowSelection="True"> <PagerStyle Mode="NumericPages" /> <ClientSettings AllowRowsDragDrop="True"> <Selecting AllowRowSelect="True" /> <ClientEvents OnMasterTableViewCreated="MasterTableViewGrids_Created" /> <Scrolling AllowScroll="True" UseStaticHeaders="True" SaveScrollPosition="True" ScrollHeight="200px" /> </ClientSettings> <MasterTableView DataKeyNames="DrugId" TableLayout="Fixed" Width="100%"> <Columns> <telerik:GridBoundColumn Display="False" FilterControlAltText="Filter col_DrugId column" UniqueName="col_DrugId"> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="DrugForm" HeaderText="Form" UniqueName="col_DrugForm"> <HeaderStyle Width="70px" HorizontalAlign="Left" /> <ItemStyle HorizontalAlign="Left" Wrap="False" /> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="DrugName" HeaderText="Name" UniqueName="col_DrugName"> <HeaderStyle Width="205px" HorizontalAlign="Left" /> <ItemStyle HorizontalAlign="Left" Wrap="False" /> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="DrugDose" HeaderText="Dose" UniqueName="col_DrugDose"> <HeaderStyle Width="70px" HorizontalAlign="Left" /> <ItemStyle HorizontalAlign="Left" Wrap="False" /> </telerik:GridBoundColumn> </Columns> <EditFormSettings> <EditColumn FilterControlAltText="Filter EditCommandColumn column"></EditColumn> </EditFormSettings> </MasterTableView> <HeaderStyle HorizontalAlign="Left"/> <FilterMenu EnableImageSprites="False"></FilterMenu> <HeaderContextMenu CssClass="GridContextMenu GridContextMenu_Default"></HeaderContextMenu> </telerik:RadGrid> </div> <div id="GroupCommands" style="float:left;margin-top:1px; margin-bottom:0px; bottom:0px; position:relative; width:100%; height:40px; border-top-style:solid; border-top-width:1px; border-top-color:RGB(7,45,75); background-color:White;"> <div id="DivGroupNameTextBox" style="float:right; direction:rtl; width:400px; padding-top:10px; padding-right:10px;"> <telerik:RadTextBox ID="txt_GroupName" runat="server" Width="300px" Label="نام گروه:" > </telerik:RadTextBox> </div> <div style="height:39px; float:right; width:200px;"> <telerik:RadButton ID="btn_NewGroup" runat="server" Text="RadButton" Width="32px" Height="32px" CssClass="CommandImageButton" onclick="btn_NewGroup_Click"> <Image ImageUrl="Images/Icons/PublicCommand/Save32.png" /> </telerik:RadButton> <telerik:RadButton ID="Btn_RecycleBin" runat="server" Text="RadButton" Width="32px" Height="32px" CssClass="CommandImageButton"> <Image ImageUrl="Images/Icons/PublicCommand/RecycleBin32.png" /> </telerik:RadButton> </div> <asp:Button ID="Button1" runat="server" Text="Button" /> <telerik:RadButton ID="RadButton1" runat="server" Text="RadButton" Width="32px" Height="32px" > <Image ImageUrl="Images/Icons/PublicCommand/Save32.png" IsBackgroundImage="true"/> </telerik:RadButton> </div> </div> <br /> <div style="direction:ltr"> <telerik:RadGrid ID="grd_DrugGroupMaster" runat="server" CellSpacing="0" GridLines="None" onneeddatasource="grd_DrugGroupMaster_NeedDataSource" AutoGenerateColumns="False" SkinID="LTRSkin" ondetailtabledatabind="grd_DrugGroupMaster_DetailTableDataBind"> <ClientSettings> <ClientEvents OnMasterTableViewCreated="MasterTableViewGrids_Created" /> </ClientSettings> <MasterTableView DataKeyNames="GroupId" ClientDataKeyNames="GroupId"> <DetailTables> <telerik:GridTableView runat="server" ClientDataKeyNames="DrugGroupMasterID,DrugGroupDetailID" DataKeyNames="DrugGroupMasterID,DrugGroupDetailID" AllowPaging="True" NoDetailRecordsText="دارویی در این گروه قرار داده نشده است"><CommandItemSettings ExportToPdfText="Export to PDF"></CommandItemSettings><RowIndicatorColumn FilterControlAltText="Filter RowIndicator column"></RowIndicatorColumn><ExpandCollapseColumn FilterControlAltText="Filter ExpandColumn column"></ExpandCollapseColumn> <Columns> <telerik:GridBoundColumn DataField="DrugForm" FilterControlAltText="Filter col_DrugForm column" HeaderText="Form" UniqueName="col_DrugForm"> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="DrugName" FilterControlAltText="Filter col_DrugName column" HeaderText="Name" UniqueName="col_DrugName"> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="DrugDose" FilterControlAltText="Filter col_DrugDose column" HeaderText="Dose" UniqueName="col_DrugDose"> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="DrugGroupMasterID" Display="False" FilterControlAltText="Filter col_DrugGroupMasterID column" HeaderText="DrugGroupMasterID" UniqueName="col_DrugGroupMasterID"> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="DrugGroupDetailID" Display="False" FilterControlAltText="Filter col_DrugGroupDetailID column" HeaderText="DrugGroupDetailID" UniqueName="col_DrugGroupDetailID"> </telerik:GridBoundColumn> </Columns><EditFormSettings><EditColumn FilterControlAltText="Filter EditCommandColumn column"></EditColumn></EditFormSettings> </telerik:GridTableView> </DetailTables> <ParentTableRelation> <telerik:GridRelationFields DetailKeyField="DrugGroupMasterID" MasterKeyField="GroupId" /> </ParentTableRelation> <Columns> <telerik:GridBoundColumn DataField="GroupId" FilterControlAltText="Filter col_GroupId column" HeaderText="Group Id" UniqueName="col_GroupId"> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="GroupName" FilterControlAltText="Filter col_GroupName column" HeaderText="Group Name" UniqueName="col_GroupName"> </telerik:GridBoundColumn> </Columns> </MasterTableView> <FilterMenu EnableImageSprites="False"></FilterMenu> <HeaderContextMenu CssClass="GridContextMenu GridContextMenu_Default"></HeaderContextMenu> </telerik:RadGrid> </div> <br /></asp:Content>private DrugInteractionEntities Context; protected void Page_Load(object sender, EventArgs e) { if (Context == null) Context = new DrugInteractionEntities(); grd_DrugItems.MasterTableView.CommandItemDisplay = GridCommandItemDisplay.None; grd_DrugItems.MasterTableView.AllowPaging = false; grd_DrugItems.MasterTableView.ShowFooter = false; grd_DrugItems.MasterTableView.AutoGenerateColumns = false; grd_DrugItems.MasterTableView.Dir = GridTableTextDirection.LTR; grd_DrugItems.Skin = "Default"; grd_DrugItems.HeaderStyle.HorizontalAlign = HorizontalAlign.Left; grd_DrugGroup.MasterTableView.CommandItemDisplay = GridCommandItemDisplay.None; grd_DrugGroup.MasterTableView.AllowPaging = false; grd_DrugGroup.MasterTableView.ShowFooter = false; grd_DrugGroup.MasterTableView.AutoGenerateColumns = false; grd_DrugGroup.MasterTableView.Dir = GridTableTextDirection.LTR; grd_DrugGroup.Skin = "Default"; grd_DrugGroup.HeaderStyle.HorizontalAlign = HorizontalAlign.Left; if (this.IsPostBack == false) { grd_DrugGroupMaster.MasterTableView.CommandItemDisplay = GridCommandItemDisplay.None; grd_DrugGroupMaster.MasterTableView.AllowPaging = false; grd_DrugGroupMaster.DataSource = Context.DrugGroupMasters; grd_DrugGroupMaster.MasterTableView.Dir = GridTableTextDirection.LTR; grd_DrugGroupMaster.MasterTableView.Attributes.Add("class", "RadGrid RadGrid_Web20"); grd_DrugGroupMaster.MasterTableView.DetailTables[0].DataSource = Context.DrugGroupDetails; grd_DrugGroupMaster.MasterTableView.DetailTables[0].Dir = GridTableTextDirection.LTR; } } protected void grd_DrugItems_RowDrop(object sender, GridDragDropEventArgs e) { IList<DrugList> _groupingDrugList = GroupingDrugList; if (string.IsNullOrEmpty(e.HtmlElement)) { if (e.DraggedItems[0].OwnerGridID == grd_DrugItems.ClientID) { // Drugs drag from drugitemGrid to GroupGrid int destinationIndex = -1; foreach (GridDataItem draggedItem in e.DraggedItems) { int dragDrugId = Convert.ToInt32(draggedItem.GetDataKeyValue("DrugId")); if (GroupingDrugListContains(_groupingDrugList, dragDrugId)) continue; DrugList dl = Context.DrugLists.Where(d => d.DrugId == dragDrugId).First(); int ItemIndex = (e.DestDataItem == null ? 0 : e.DestDataItem.ItemIndex); _groupingDrugList.Insert(ItemIndex, dl); } GroupingDrugList = _groupingDrugList; grd_DrugGroup.Rebind(); } } } protected void grd_DrugGroup_RowDrop(object sender, GridDragDropEventArgs e) { if(String.IsNullOrEmpty(e.HtmlElement) && e.HtmlElement=="Btn_RecycleBin") { IList<DrugList> _groupingDrugList = GroupingDrugList; foreach (GridDataItem draggedItem in e.DraggedItems) { int dragDrugId = Convert.ToInt32(draggedItem.GetDataKeyValue("DrugId")); GroupingDrugListRemoveById(_groupingDrugList, dragDrugId); } this.GroupingDrugList = _groupingDrugList; this.grd_DrugGroup.Rebind(); } } protected void grd_DrugItems_NeedDataSource(object sender, GridNeedDataSourceEventArgs e) { grd_DrugItems.DataSource = Context.DrugLists; } protected void grd_DrugGroup_NeedDataSource(object sender, GridNeedDataSourceEventArgs e) { grd_DrugGroup.DataSource = GroupingDrugList; } protected IList<DrugList> GroupingDrugList { get { try { object obj = Session["GroupingDrugList"]; if(obj==null) { Session["GroupingDrugList"] = obj = new List<DrugList>(); } return (IList<DrugList>) obj; } catch { Session["GroupingDrugList"] = null; } return new List<DrugList>(); } set { Session["GroupingDrugList"] = value; } } protected void btn_NewGroup_Click(object sender, EventArgs e) { DrugGroupMaster DGM = new DrugGroupMaster() {GroupName = txt_GroupName.Text}; for (int i = 0; i < this.GroupingDrugList.Count; i++) { DrugGroupDetail DGD = new DrugGroupDetail(); DGD.DrugId = this.GroupingDrugList[i].DrugId; DGD.DrugGroupDetailID = i; DGM.DrugGroupDetails.Add(DGD); } Context.AddToDrugGroupMasters(DGM); Context.SaveChanges(); this.GroupingDrugList = null; } protected void grd_DrugGroupMaster_NeedDataSource(object sender, GridNeedDataSourceEventArgs e) { if (e.IsFromDetailTable == false) { grd_DrugGroupMaster.MasterTableView.DataSource = Context.DrugGroupMasters; } } protected void grd_DrugGroupMaster_DetailTableDataBind(object sender, GridDetailTableDataBindEventArgs e) { GridDataItem dataItem = (GridDataItem) e.DetailTableView.ParentItem; int groupMasterId = Convert.ToInt32(dataItem.GetDataKeyValue("GroupId")); grd_DrugGroupMaster.MasterTableView.DetailTables[0].DataSource = from drugDetail in Context.DrugGroupDetails where drugDetail.DrugGroupMasterID == groupMasterId select new { drugDetail.DrugGroupMasterID, drugDetail.DrugGroupDetailID, drugDetail.DrugId, drugDetail.DrugList.DrugForm, drugDetail.DrugList.DrugName, drugDetail.DrugList.DrugDose }; } }Thank you