¿Cómo controlo el orden de dataGridViewColumn para objetos de negocio personalizados?
-
05-07-2019 - |
Pregunta
La creación de un objeto de negocio personalizado para deslizarse en un dataGridView funciona de maravilla ... excepto que no puedo pensar en una manera programática para establecer el orden de las columnas.
¿Tengo que agregarlos manualmente uno a uno de nuevo manualmente para obtener una clasificación más agradable o hay algún atributo secreto oculto que puedo usar?
Solución
Cada dataGridViewColumn como una propiedad DisplayIndex que se puede aplicar en cualquier momento e incluso funciona con AutoGenerateColumns establecido en verdadero.
dataGridView1.Columns["colName"].DisplayIndex = 0;
dataGridView1.Columns["colAnotherColumn"].DisplayIndex = 1;
Otros consejos
Supongo que actualmente tienes AutoGenerateColumns
configurado en true
. La única forma que conozco de controlar el orden de las columnas es establecer AutoGenerateColumns
en false
y, como usted dijo, agregar las columnas manualmente.
EDIT:
Acabo de buscar en un vago recuerdo de otra forma de hacer esto y creo que es posible que desee buscar en la propiedad GridView
del control ColumnsGenerator
que toma un IAutoFieldGenerator
objeto. Esta interfaz tiene un método llamado GenerateFields 'que toma un
Control
(la
Grid ) y devuelve un
ICollection `(de campos).