2017-10-12 5 views
0

j'ai cette méthode en utilisant webservice pour connecter mon application de bureau à une base de données Oracle:Colonnes Réorganiser GridView (remplies de base de données)

public List<Persona> ListaPersona() 
    { 
     List<Persona> personas = new List<Persona>(); 
     Persona persona; 
     Conexion con = new Conexion(); 
     OracleCommand cmd = con.OracleConexion().CreateCommand(); 
     cmd.CommandText = "select * from persona"; 
     DataSet ds = new DataSet(); 
     OracleDataAdapter adapter = new OracleDataAdapter(cmd); 
     adapter.Fill(ds); 
     foreach (DataRow fila in ds.Tables[0].Rows) 
     { 
      persona = new Persona(); 
      persona.IdPersona = Int32.Parse(fila["IDPERSONA"].ToString()); 
      persona.Rut = Int32.Parse(fila["RUT"].ToString()); 
      persona.DigiVeri = fila["DIGIVERI"].ToString(); 
      persona.Nombre = fila["NOMBRES"].ToString(); 
      persona.ApPaterno = fila["APPATERNO"].ToString(); 
      persona.ApMaterno = fila["APMATERNO"].ToString(); 
      persona.Edad = Int32.Parse(fila["EDAD"].ToString()); 
      persona.FechaNacimiento = fila["FECHA_NACIMIENTO"].ToString(); 
      persona.Genero = fila["GENERO"].ToString(); 
      persona.Correo = fila["CORREO"].ToString(); 
      persona.Telefono = Int32.Parse(fila["TELEFONO"].ToString()); 
      persona.Direccion = fila["DIRECCION"].ToString(); 
      persona.Comuna = Int32.Parse(fila["COMUNA"].ToString()); 
      persona.Contrasena = fila["CONTRASENA"].ToString(); 
      persona.Empresa = Int32.Parse(fila["EMPRESA"].ToString()); 
      persona.Cargo = Int32.Parse(fila["CARGO"].ToString()); 
      persona.Activo = Int32.Parse(fila["ACTIVO"].ToString()); 
      persona.Expositor = Int32.Parse(fila["EXPOSITOR"].ToString()); 
      persona.Personal = Int32.Parse(fila["PERSONAL"].ToString()); 
      persona.FechaIngreso = fila["FECHA_INGRESO"].ToString(); 
      personas.Add(persona); 
     } 
     return personas; 
    } 

Il retourne la liste de tous les utilisateurs enregistrés sur le système, et je montre eux sur un gridview. Il affiche les données parfaites, mais dans un ordre aléatoire je ne sais pas pourquoi, donc je ne veux pas réorganiser les colonnes de la grille.

C'est le code de charge WindowsForm:

public testLista() 
    { 
     InitializeComponent(); 
     WebService.ServicioClient s = new WebService.ServicioClient(); 
     dataGridView1.DataSource = s.ListaPersona().ToList(); 

    } 
+0

J'ai essayé le dataGridView.Columns ["ColumnName"]. DisplayIndex = 1; avec toutes les colonnes mais ça marche avec certaines d'entre elles. – NEURO

+0

Qu'entendez-vous par colonne d'enregistrement? –

+0

que voulez-vous dire par "record" ?. Je n'ai pas dit que je crois. Si tu voulais dire "réorganiser" je veux dire changer l'ordre des colonnes. – NEURO

Répondre

0

Vous pouvez mapper manuellement. Sur votre DataGridView, vous verrez un triangle en haut à droite en bas. Là vous pouvez le mapper manuellement selon l'ordre que vous aimez. (Désolé, je ne commente pas puisque j'ai besoin de 50 réputation, je n'ai que 11)

+0

Savez-vous s'il existe un moyen de réorganiser l'ensemble de données? Je veux dire, le jeu de données trier automatiquement par vocabulaire, c'est pourquoi im obtenir les données de la manière dont je ne veux pas – NEURO

+0

en fait, c'est bizarre. J'utilise presque le même modèle que le vôtre (obtenir le DataTable, puis pour chaque ligne et mapper chacun aux propriétés de votre liste d'éléments) et j'obtiens toujours la même disposition exacte des colonnes que la classe (dans votre cas, Persona) donc je ne sais pas comment l'organiser, mais pour le mapper manuellement à la vue datagridview de votre formulaire – NoobProgger