2016-07-28 29 views
1

Ich habe Rasteransicht, und ich habe bereits die automatische Breite der Spalte deaktiviert, so dass ich die Größe der Spalte manuell festlegen kann. Nach der manuellen Größenanpassung gibt es eine zusätzliche leere Spalte. und was ich will, ist:Wie kann die zusätzliche Spalten- und Zeilenauswahlfunktion entfernt oder deaktiviert werden?

  1. die Auswahlreihenfunktion zu deaktivieren, wenn ich außerhalb der Spalte klicken Sie in Active, Code und erzeugen
  2. die zusätzliche Spalte entfernen.

grid view

ich schon Erfolg voll und ganz die verbleibenden Spalte mit diesem Ereignis verstecken oder Code

private void gridView1_CustomDrawColumnHeader(object sender, ColumnHeaderCustomDrawEventArgs e) 
    { 
     if (e.Column == null) 
     { 
      e.Handled = true; 

     } 
    } 

Die Sache ist ich immer noch auf der Außenseite des Genres klicken können, und die Zeilenauswahl noch folgen, wo ich

grid 2

+0

Mit diesem Code können Sie ausblenden. aber die Sache ist, ich es immer noch klicken und die Zeilenauswahl noch 'private void gridView1_CustomDrawColumnHeader (object sender, ColumnHeaderCustomDrawEventArgs e) ermöglichen { if (e.Column == null) { e.Handled = true; } } ' Ich dachte, wenn es eine andere Möglichkeit gibt, die Xtra-Spalte zu entfernen –

+0

ok, habe bearbeitet, –

+0

mein schlechtes! keine idee wie zu lösen? –

Antwort

0

Ha klicken Führen Sie das Ereignis GridView.MouseDown folgendermaßen aus:

private void gridView1_MouseDown(object sender, MouseEventArgs e) { 
    GridView view = (GridView)sender; 
    var hi = view.CalcHitInfo(e.Location); 
    Console.WriteLine(hi.HitTest); 
    if (hi.InRow && !hi.InRowCell) 
     DXMouseEventArgs.GetMouseArgs(e).Handled = true; 
} 
+0

funktionieren einwandfrei. aber irgendwie dont was jeder Code .. es ist neu für mich können Sie es bitte erklären? –

+0

Die Auswahl erfolgt bei den Mausereignissen im Raster. Also behandeln wir das erste Mausereignis (MouseDown), überprüfen, in welchem ​​Bereich wir klicken. Wenn es sich um einen leeren Bereich handelt (die Rastertreffer-Information sagt aus, dass Sie in einer Zeile, aber nicht in einer Zelle klicken), hören wir auf, dieses Ereignis durch die Tabelle DXMouseEventArgs.GetMouseArgs (e) .Handled = true weiter zu bearbeiten. –

+0

das ist was mich verwirren, warum e.handle true = das Mausereignis deaktivieren, wenn falscher Klick. danke für die Erklärung –