C# GridView Drag & Drop und Speichern des Namen und Pfades

emin7

Newbie
Registriert
Juli 2014
Beiträge
4
Hallo liebe Leute,

Ich suche schon ewig lange nach einer Lösung für mein Problem.

Bitte nicht zu verwechseln: GridView != Datagridview ... wenn ich Google bekomm ich vieles zu Datagridview, aber fast nichts zu Gridview.

Ich will ein einfaches Drag and Drop erstellen, bei dem es auch möglich ist mehrere Dateien gleichzeitig in meine Tabelle reinzuziehen. Es sollen die Dateien untereinander angereiht werden, in der ersten Zelle der Dateiname und in der zweiten der Dateipfad.

Mit DataGridview habe ich es bereits gemacht, das war nicht sehr schwer, aber bei Gridview funktioniert es einfach nicht.

ich habe diesen Code aus dem Internet, jedoch funktioniert es nicht:
Code:
  bool isMouseDown = false;

    bool isSetStartRow = false;

    private int StartRowHandle = -1;

    private int CurrentRowHandle = -1;


    private void SelectRows(int startRow, int endRow)
    {

      if (startRow > -1 && endRow > -1)
      {
        dataGridView1.BeginSelection();
        dataGridView1.ClearSelection();
        dataGridView1.SelectRange(startRow, endRow);
        dataGridView1.EndSelection();
      }

    }



    private void dataGridView1_MouseDown(object sender, MouseEventArgs e)
    {


      if (e.Button == MouseButtons.Left)
      {

        isMouseDown = true;
      }

    }

    private void dataGridView1_MouseMove(object sender, MouseEventArgs e)
    {

      if (isMouseDown)
      {

        GridHitInfo info = dataGridView1.CalcHitInfo(e.X, e.Y);
        //  

        if (info.InRow)
        {

          if (!isSetStartRow)
          {

            StartRowHandle = info.RowHandle;

            isSetStartRow = true;

          }

          else
          {

            int newRowHandle = info.RowHandle;

            if (CurrentRowHandle != newRowHandle)
            {

              CurrentRowHandle = newRowHandle;
              SelectRows(StartRowHandle, CurrentRowHandle);
            }
          }
        }
      }


    }

    private void dataGridView1_MouseUp(object sender, MouseEventArgs e)
    {
      StartRowHandle = -1;

      CurrentRowHandle = -1;

      isMouseDown = false;

      isSetStartRow = false;

    }

AllowDrop beim gridControl ist auf "true" gesetzt, Multiselect bei GridView ist auch auf "true" gesetzt.

Ich bedanke mich schon mal und hoffe auf nützliche Antworten.

Lg Emin
 
Zuletzt bearbeitet:
Hast du die Events auch an dein Gridview drangehängt?
Oder nur den Code der Events rüberkopiert?

Sieht allerdings allgemein nicht richtig aus, da geht es doch garnicht um Files?! O.o

OK ganz doofe Frage: was für GridView? :freak:
Hab weder in WPF noch in WInForms eine GridView, habe nur eine DataGridView bzw. in WPF ein Grid an zu bieten...
 
Zuletzt bearbeitet von einem Moderator:
Hallo,

Nein die Events sind nicht einfach kopiert, sondern sind wirklich die Events vom Gridview.

Im Internet finde ich nur Beschreibungen, wie Drag&Drop von einer View zur andren funktioniert -.-

GridView ist ein Tool von DevExpress .. Alles wär mit DataGridview einfacher, aber Anforderung ist leider Gridview :(


Lg Emin
 
Zuletzt bearbeitet:
Mensch jung sag das doch :lol:
Aber hast glück bin auch Devexpress geschädigt :freak:

Is es nun WInforms, WPF oder gar asp.net/MVC?
 
Zurück
Oben