[.NET]Hoe kolom in DataGrid onselecteerbaar maken?

Pagina: 1
Acties:
  • 125 views sinds 30-01-2008
  • Reageer

  • TlighT
  • Registratie: Mei 2000
  • Laatst online: 22-03 10:40
Ik heb in een C#.NET form een DataGrid die gebonden is aan een DataView. Nu wil ik alle kolommen van de DataGrid op read-only hebben op één na. Dit is nu gedaan door de ReadOnly property op elk van de GridColumnStyles op False te zetten op die ene na.

Als ik nu het programma start dan zijn de DataGridTextBoxColumn's wel read-only, maar kan ik ze nog steeds selecteren. Hoe kan ik dat uitzetten (zodat er niks gebeurt met een kolom als je er met de muis op klikt)???

  • tomato
  • Registratie: November 1999
  • Niet online
Ik heb zo snel geen direct antwoord op je vraag gevonden (en heb geen tijd om het te gaan proberen), maar misschien kun je er wel iets omheen bouwen met de HideEditBox method van een DataGridTextBoxColumn?

  • TlighT
  • Registratie: Mei 2000
  • Laatst online: 22-03 10:40
Op zondag 24 februari 2002 17:49 schreef tomato het volgende:
Ik heb zo snel geen direct antwoord op je vraag gevonden (en heb geen tijd om het te gaan proberen), maar misschien kun je er wel iets omheen bouwen met de HideEditBox method van een DataGridTextBoxColumn?
Dat is idd een idee... Ik heb nu een class ge-inherit van de DataGridTextBoxColumn class met een nieuwe (lege) Edit methode:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
using System;
using System.Windows.Forms;
using System.Drawing;

namespace TTracker
{
    public class DataGridTextBoxColumnNonEditable:DataGridTextBoxColumn 
    {
        protected override void Edit(CurrencyManager c, int i, 
            Rectangle r, bool b, string s, bool b2)
        {}
    }
}

Dat lijkt vooralsnog goed te werken, alleen de vraag is nu nog hoe ik die nieuwe ColumnStyle kan toevoegen aan de DataGridColumnStyle Collection Editor, zodat ik hem ook in de Form designer kan gebruiken???