title: Drag and drop for tableviewer in SWT
body: <p>I need to Drag tableViewer cell value to another tableViewer cell in swt. 
  I need to remove that value where i dragged and add those value where i dropped in tableViewer i'm able to drag and drop but not able to drop where i want too and not able to remove and add value when i drag and drop in tableviewer.  Here is the i have:Thank in advance for help.</p>
  
  <pre><code>public void DragandDrop(){
  
      Transfer[] types = new Transfer[] { TextTransfer.getInstance() };
  
      DragSource source = new DragSource(table_2, DND.DROP_MOVE | DND.DROP_COPY);
      source.setTransfer(types);
      source.addDragListener(new DragSourceAdapter() {
        public void dragSetData(DragSourceEvent event) {
          DragSource ds = (DragSource) event.widget;
          Table table = (Table) ds.getControl();
          TableItem[] selection = table.getSelection();
  
          StringBuffer buff = new StringBuffer();
          for (int i = 0, n = selection.length; i &lt; n; i++) {
            buff.append(selection[i].getText());
          }
          event.data = buff.toString();
        }
      });
  
      DropTarget target = new DropTarget(table_3, DND.DROP_MOVE | DND.DROP_COPY );
      target.setTransfer(types);
      target.addDropListener(new DropTargetAdapter() {
        public void dragEnter(DropTargetEvent event) {
          if (event.detail != DND.DROP_DEFAULT) {
            event.detail = (event.operations &amp; DND.DROP_COPY) != 0 ? DND.DROP_COPY : DND.DROP_NONE;
          }
          for (int i = 0, n = event.dataTypes.length; i &lt; n; i++) {
            if (TextTransfer.getInstance().isSupportedType(event.dataTypes[i])) {
              event.currentDataType = event.dataTypes[i];
            }
          }
        }
  
        public void dragOver(DropTargetEvent event) {
          event.feedback = DND.FEEDBACK_SELECT | DND.FEEDBACK_SCROLL;
        }
  
        public void drop(DropTargetEvent event) {
          if (TextTransfer.getInstance().isSupportedType(event.currentDataType)) {
            DropTarget target = (DropTarget) event.widget;
            Table table = (Table) target.getControl();
            String data = (String) event.data;
  
            TableItem item = new TableItem(table, SWT.NONE);
            item.setText(new String[] { data });
         //   table.redraw();
          }
        }
      });
  }
  </code></pre>