簡體   English   中英

拖放分組動畫不起作用

[英]Drag&Drop Grouping Animation Not Working

我在RADGrid上啟用了分組功能,但是當我拖放一列時,我看到的只是拖動時的“ CrossHair”光標。 我看不到動畫直觀地顯示了一個表示要拖動的列的框,也看不到出現的“雙箭頭”向您顯示要刪除該列的位置。 我在Telerik RADGrid演示版上看到了這兩個功能,但似乎可以在自己的RADGrid上復制此功能。

救命!

嘗試以下鏈接。 這將幫助您使拖放有效。 我目前也使用這種方法。 我的DNN是6.x版

http://www.telerik.com/community/forums/aspnet-ajax/grid/unknown-server-tag-telerik-griddragdropcolumn.aspx

*編輯:在Page_Load中調用以下方法(這只是為了在頁面上動態獲取腳本塊。您也必須執行我的鏈接中所述的步驟):

public void subDragDropJavaScript()
{
  // define the script string to add to the page
  StringBuilder sJavaScript = new StringBuilder();
  // js header
  sJavaScript.Append(("<script type=\'text/javascript\'>" + "\r\n"));
  sJavaScript.Append("function startRowDrag_ModuleID_"+ this.ModuleId + "_GridID_" + oDNNGrid.ID + "(row, args)" + "\r\n");
  sJavaScript.Append("{" + "\r\n");
  sJavaScript.Append("var target = args.target || args.srcElement;" + "\r\n");
  sJavaScript.Append("if (target.className.indexOf('rgDrag') > -1)" + "\r\n");
  sJavaScript.Append("{" + "\r\n");
  sJavaScript.Append("args._isDragHandle = true;" + "\r\n");
  sJavaScript.Append("var tableView = $find(row.id.split('__')[0]);" + "\r\n");
  sJavaScript.Append("var grid = $find(tableView.get_owner().get_id());" + "\r\n");
  sJavaScript.Append("tableView.get_dataItems();" + "\r\n");
  sJavaScript.Append("$find(row.id).set_selected(true);" + "\r\n");
  sJavaScript.Append("var origFunc = Telerik.Web.UI.RadGrid.prototype._canRiseRowEvent;" + "\r\n");
  sJavaScript.Append("Telerik.Web.UI.RadGrid.prototype._canRiseRowEvent = function ()" + "\r\n");
  sJavaScript.Append("{" + "\r\n");
  sJavaScript.Append("var el = arguments[0].target || arguments[0].srcElement;" + "\r\n");
  sJavaScript.Append("return origFunc.apply(grid, arguments) || el.tagName.toLowerCase() == 'img';" + "\r\n");
  sJavaScript.Append("}" + "\r\n");
  sJavaScript.Append("grid._mouseDown(args);" + "\r\n");
  sJavaScript.Append("Telerik.Web.UI.RadGrid.prototype._canRiseRowEvent = origFunc;" + "\r\n");
  sJavaScript.Append("}" + "\r\n");
  sJavaScript.Append("}" + "\r\n");
  sJavaScript.Append("function gridRowDragStarted_ModuleID_" + this.ModuleId + "_GridID_" + oDNNGrid.ID + "(sender, args) {" + "\r\n");
  sJavaScript.Append("if (!args.get_domEvent()._isDragHandle) {" + "\r\n");
  sJavaScript.Append("args.set_cancel(true);" + "\r\n");
  sJavaScript.Append("}" + "\r\n");
  sJavaScript.Append("}" + "\r\n");

  // js close block
  sJavaScript.Append("</script>");
  // add js block to page
  this.Page.ClientScript.RegisterStartupScript(typeof(string), "DragnDropRowSelection_" + ModuleId, sJavaScript.ToString());
}

最好的問候,沒人

我知道這是一個舊線程,但是我最近才找到答案。

在自定義模塊的Module.css中,添加了以下代碼:

.RadGrid
{
    z-index: 1000;
}

顯然,DNN框架的default.css使模塊的z索引高於覆蓋動畫的網格。 將z索引增加到網格本身會使其位於模塊上方,從而使動畫再次顯示。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM