Search code, repositories, users, issues, pull requests...

Provide feedback.

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly.

To see all available qualifiers, see our documentation .

  • Notifications

ag-dnd-ghost element hidden when fullscreen is on #261


jogoertzen-stantec commented Jan 13, 2021


jogoertzen-stantec commented Jan 14, 2021

Sorry, something went wrong.

No branches or pull requests


JavaScript Data Grid Drag & Drop

Drag & Drop is concerned with moving data around an application, or between applications, using the operating system drag and drop support. When using drag and drop, data is moved or copied around using MIME types in a way similar to using the clipboard.

Native drag and drop is typically used for moving data between applications, e.g. moving a URL from an email into a web browser to open the URL, or moving a file from a file explorer application to a text editor application. Native drag and drop is not typically used for operating on data inside an application. Native drag and drop is similar to clipboard functionality, e.g. data must be represented as MIME types and objects cannot be passed by reference (the data must be converted to a MIME type and copied).

This section outlines how the grid fits in with native operating system drag and drop. It is assumed the reader is familiar with how drag and drop works. If not, refer to one of the following introductions:

  • W3C Schools
  • MDN Web Docs

The grid implements its own drag and drop separate to the operating system drag and drop. It is used internally by the grid for Row Dragging (for reordering rows) and for column dragging (e.g. re-ordering columns or moving columns in the Column Tool Panel ). The grid uses its own implementation in these instances as it needs finer control over the data than native browser drag & drop supports. For example, the native d&d does not provide access to the dragged item until after the drag operation is complete.

Enable Drag Source

To allow dragging from the grid, set the property dndSource=true on one of the columns. This will result in the column having a drag handle displayed. When the dragging starts, the grid will by default create a JSON representation of the data and set this as MIME types application/json and also text/plain .

In the example below, note the following:

The first column has dndSource=true , so staring a mouse drag on a cell in the first column will start a drag operation.

When the data is dragged to the drop zone, the drop zone will display the received JSON. This is because the drop zone is programmed to accept application/json MIME types.

You can also drag to other applications outside of the browser. For example, some text editors (eg Sublime Text) or word processors (eg Microsoft Word) will accept the drag based on the text/plain MIME type. You can test this by dragging a cell to e.g. Microsoft Word.

Dragging Between Grids

It is possible to drag rows between two instances of AG Grid. The drag is done exactly like the simple case described above. The drop is done as demonstrated in the example below.

Rows can be dragged from one grid to the other grid. When the row is received, it is not removed from the first grid. This is the choice of the example. The example could equally have removed from the other grid.

If the row is already present in the grid, it will not be added twice. Again this is the choice of the example.

Rows can be removed from both grids by dragging the row to the 'Trash' drop zone.

New rows can be created by dragging out from red, green and blue 'Create' draggable areas.

Note that there is no specific drop zone logic in the grid. This was done on purpose after analysis.

On initial analysis, consideration was given to exposing callbacks or firing events in the grid for the drop zone relevant events e.g. onDragEnter , onDragExit etc. However this did not add any additional value given that the developer can easily add such event listeners to the grid div directly.

Given that the grid would be simply exposing the underlying events / callbacks rather than doing any processing itself, it would not be adding any value and so providing such callbacks would just be adding a layer of useless logic.

Custom Drag Data

It is possible that a JSON representation of the data is not what is required as the drag data.

To provide alternative drag data, use the dndSourceOnRowDrag callback on the column definition. This allows specific processing by the application for the rowdrag even rather than the default grid behaviour.

The example below is identical to the first example on this page with the addition of custom drag data. Note the following:

  • The draggable column also has dndSourceOnRowDrag set.
  • The onRowDrag method provides an alternative piece of drag data to be set into the drag event.
  • The data dragged also includes row state such as whether the rows is selected or not.

Custom Drag Component

Drag and drop is a complex application-level requirement. As such, a component (the grid) can't propose a drag and drop solution that is appropriate for all applications. For this reason, if the application has drag and drop requirements, you would likely want to implement a custom Cell Renderer specifically for your needs.

The example below shows a custom drag and drop cell renderer. Note the following:

  • The dragging works similar to before, rows are dragged from the left grid to the right drop zone.
  • The grid does not provide the dragging. Instead, the example's cell renderer implements the drag logic.

.css-1ydg16i{color:#000;-webkit-text-decoration:none;text-decoration:none;} UNPKG

.css-xt128v{color:#0076ff;-webkit-text-decoration:none;text-decoration:none;}.css-xt128v:hover{-webkit-text-decoration:underline;text-decoration:underline;} ag-grid-community .css-lllnmq{padding-left:5px;padding-right:5px;} / src / styles / ag-grid.scss.

[Solved]-AgGrid custom html on drag-Reactjs

it would be possible to replace the created ghost by:

  • globally hiding the ghost on mouseover by adding a body class to prevent flickering of ghost (remember to remove the class on mouseout to allow other grids to use ghosts)
  • set new content or change styling of ghost on drag enter and remove the body class to show the new ghost (remember ghosts are only present in the dom during drag)

hide ghost on mouse over and mouse out:

replace ghost and styling, and unhide ghost:

the body -> ghost css styling:

enter image description here

so, actually, there is no possibility for now to modify 'ghost' template, you can try to explore deeper than i did, here is an entry point: ag-grid\src\ts\draganddrop\draganddropservice.ts and createghost method - exactly what you need. one thing that you can do is to override this place just for yourself and use instead of the original library.

ag grid ag dnd ghost

Related Query

  • AgGrid custom html on drag
  • How to add custom html attributes in JSX
  • HTML drag/drop - how to set the filename of an *outgoing* drag (to desktop)
  • Custom HTML Element Tag within React JSX
  • Passing a ref to an HTML element to a custom hook
  • Drag and Drop in React.js. How to pass custom react component in setDragImage
  • How do I get the TypeScript engine to allow custom HTML attributes in JSX?
  • Rendering custom html tag with react.js
  • Render custom HTML markup inside pdf document using react-pdf/render library
  • How to prevent row selection after clicking on link inside custom rendered cell in AgGrid
  • Unable to figure out how to highlight or select individual objects in InstancedMesh and display custom HTML tooltip using react three fiber
  • NextJs - Add HTML Lang attribute to custom _document in object notation
  • Typing a custom useRef hook for any type of HTML element
  • Custom Drag Preview for touch screens with [dnd-multi-backend] or [TouchBackend]+[HTML5Backend]+[Modernizr]?
  • Replacing custom html tags in react
  • react-dnd sortable list using custom drag layer
  • ReactJS: Show custom element name in html
  • Ho can i return a Custom HTML div in React JS?
  • Custom HTML Button wrapped in Link not working
  • React : How to add custom properties to html elements
  • HTML drag & drop in react -- seeing the same id at target, srcElement, and toElement?
  • React adding custom props to vanilla html elements
  • is there a way to add custom html inside the Popconfirm in antd and React
  • render custom attributes on HTML elements with reactjs
  • Custom div Shape with CSS and HTML
  • react jss how to style custom html tag
  • Adding a custom property to an HTML attribute in react with typescript
  • React dnd too many re-renders with custom drag layer, react.memo
  • Creating custom components for all html tags in React
  • How to prevent styled-components from stripping custom HTML attributes?

More Query from same tag

  • How to get JSX in an object from a function finding data (JSX) through another file?
  • why I can not use setState value in my code?
  • How do you focus and select an input when it loads?
  • When does webpack cli comes into play
  • Not able to display fetched data on page, React JS
  • How to make responsive image in carasoul while the images are in different sizes?
  • React TypeError: "_this2.setState is not a function"?
  • How to get Azure access token using client secret in MSAL?
  • I'm having a hard times table in HTML & CSS
  • State variable hook does not increment within closure
  • Network Error on posting form with ReactJS
  • Having problem with import in ES6 module: property is not exported
  • reactjs set base-href in development
  • Unit test: simulate the click event of child component in parent using enzyme
  • When trying to run react-bootstrap or just react in general I always get events.js:287 and other errors as shown bellow
  • Get element was clicked in react using ref
  • react frontend connecting to flask backend Howto
  • React scrollTop=0 for componentDidMount not working:
  • How to stop jest running test constants folder
  • Return Null after calling .getElementById in react code
  • How to pass props from child component (addform) to main app component using programmatic routing in react.js
  • a React-Redux Action Update Multiple Reducers
  • Where do these styles come from in reactjs examples on codepen?
  • Call method of functional component in a class
  • Using spread operators for redux in react? Array mapping problems?
  • How to update a react redux state with object spread properly?
  • React updating nested arrayelement via setState
  • How to display all properties of an object on another component after selecting one of its on react?
  • Font Awesome Icon in Next JS works with single Component/Variation only
  • How to skip the rendering of an element of a React functional component when loading?

Copyright 2023 . All rights reserved.


Why rows disappear when I click on filter in ag-grid?

Answer a question When I click on the filter icon next to each column, it opens the popup showing the options for selecting the filter, however only the popup shows, the actual grid behind it vanishes

ag grid ag dnd ghost

Answer a question

When I click on the filter icon next to each column, it opens the popup showing the options for selecting the filter, however only the popup shows, the actual grid behind it vanishes. So the popup is just floating on an empty background. When I close the popup, the grid returns. I use Vue.js only by <script src=""></script> My html:

enter image description here

I don't know if it's the same issue, but I came to this post while hunting down very similar experience. I found a div with class ag-popup, if I make a css rule that gives that a height of 0 it's seeming to fix the issue and I haven't seen a side effect yet. ie


  • · 带有浮动 Vue 和 Tailwind 的 Vue 下拉菜单
  • · 赵文卓100001 the zh I晦platform
  • · 播客 | Fathym 关于 Vue 的观点

带有浮动 Vue 和 Tailwind 的 Vue 下拉菜单

可用于在 Vue 应用程序中创建工具提示、弹出框和菜单的最流行的库之一是floating-vue。虽然floating-vue提供了一个Dropdown组件,但它的样式和添加其他功能(例如键盘导航)由用户决定。 我们将创建什么 我们将使用floating-vue的Dropdown组件作为基础,然后在顶部添加键盘功能。然后,我们将使用该组件使用 Tailwind 创建一个下拉菜单。 最终结果将类似于


赵文卓100001 the zh I晦platform

是学校的平台,可以发布数据等,更快更安全。 这里不是旗帜,因为我已经为这个平台制定了计划。不过,如你所知,我是初三的学生,马上就要参加中考了。所以我几乎没有空闲时间来开发这个。 作为我校学生会的主席,我在管理等方面有一些经验。我可以把这些exp放到这个平台上,这样平台可以帮助我们更多。 这个平台最大的特点就是_简单而强大_。 “简单”的意思是它可以使用最少的内存、时间来完成最多的任务。有时,我们可

播客 | Fathym 关于 Vue 的观点

在科罗拉多州,我们有许多美景。从山顶到山谷和中间的山丘。 谈到 Vue.js,Fathym 是 JavaScript 框架的粉丝。 我们的工程总监 Jeremy Tomlinson 和品牌传播代表 Rich Kurtzman 很高兴成为 8 月中旬 Vue 播客观点的一部分。 在采访中,主持人史蒂夫爱德华兹向我们的团队询问了很多事情,包括: Fathym 是谁以及我们做什么 使用 Azure 和/



  1. Ag-Grid Floating rows. Ag-grid floating row is still in…

    ag grid ag dnd ghost

  2. ag-Grid New Features for v7

    ag grid ag dnd ghost

  3. ag-grid-enterprise

    ag grid ag dnd ghost

  4. AG-Grid Scrollbars Visibility Issue · Issue #3226 · ag-grid/ag-grid

    ag grid ag dnd ghost

  5. Solving Complex Table Requirement Challenges Using AG Grid

    ag grid ag dnd ghost

  6. ag-Grid

    ag grid ag dnd ghost


  1. cơm trưa ( nhớ dk kênh để xem nhiều vd hơn bạn nhé)

  2. Ship Hull Grid Blasting: Restoring Maritime Excellence

  3. Items In Use

  4. Halloween Scoops: Mystery Scoops #mysterybox #scoops #halloween

  5. New Magic Item Do Damage By Just Standing Mistral Mantle DND #dnd #dnd5e #magic

  6. 2023 Atlanta Drum Academy Snare drum lessons be like


  1. Stay Organized: Tips for Managing and Tracking Your National Grid Bills Online

    In today’s digital age, managing and tracking bills online has become the norm. With the convenience of technology, National Grid customers can now view and manage their bills online with just a few clicks.

  2. Understanding the Features of National Grid’s Online Billing System

    In today’s digital age, managing bills and payments online has become increasingly convenient and efficient. National Grid, a leading utility company, offers its customers the option to view and pay their bills online through their user-fri...

  3. The Benefits of Using National Grid’s Online Payment System

    In today’s digital age, convenience and efficiency are key factors that drive our daily lives. Whether it’s shopping, communicating, or managing our finances, the internet has revolutionized the way we handle various tasks.

  4. How to customise the ghost-text (drag item name) with AgGrid

    onRowDragEnter event , you could search for the ghost element and then append your custom class to it. document.querySelectorAll('.ag-dnd-ghost

  5. ag-dnd-ghost problem in modals when dragging rows #4447

    Customers of AG Grid. If you are a customer you are entitled to use the AG Grid's customer support system (powered by Zendesk).

  6. ag-dnd-ghost element hidden when fullscreen is on #261

    The 'ghost' element (see screenshot below) does not appear when dragging a column header in an ag-grid that is a descendent of an element that (1) is a

  7. Custom Icons

    ghost icon while dragging over drop zone that doesn't

  8. Drag & Drop

    Dragging Between Grids. It is possible to drag rows between two instances of AG Grid. The drag is done exactly like the simple case

  9. Ag grid: Testing inserting row somewhere other than the end of the

    ... ag-theme-alpine .ag-recent-color:first-child { margin-left: 0; } .ag-theme-alpine .ag-recent-color:last-child { margin-right: 0; }

  10. ag-grid-community

    ... grid, it's parent is the body element,. 166, // so we cannot style using standard themes. hence we break the rules, and style it here. 167 .ag-dnd-ghost {. 168

  11. ag-grid styling

    dnd-ghost {\\n background-color: $xl-blue !important; // scss-lint:disable

  12. [Solved]-AgGrid custom html on drag-Reactjs

    so, actually, there is no possibility for now to modify 'ghost' template, you can try to explore deeper than i did, here is an entry point: ag-grid\src\ts\

  13. Why rows disappear when I click on filter in ag-grid?

    Why rows disappear when I click on filter in ag-grid? Vue小助理. 20人浏览 ... dnd-ghost { width: 30%; min-width: 100px; } 复制.

  14. InDepth guide on how to customize styles in the ag-grid in Angular

    in this tutorial, we are going to use ag-grid and I suggest you consider the task of customization ag-grid styles. Let's assume that the table displays the