2017-10-12 63 views
0

我有這樣的方法,使用網絡服務來我的桌面應用程序連接到Oracle數據庫:重新排序的GridView列(填充從數據庫)

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; 
    } 

它返回所有在系統上註冊的用戶列表,和我展示他們在gridview上。它顯示完美的數據,但以某種隨機順序,我不知道爲什麼,所以我不想重新排序gridview的colums。

這是windowsform加載代碼:

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

    } 
+0

我試過dataGridView.Columns [「ColumnName」]。DisplayIndex = 1;與所有列,但它與其中一些工作。 – NEURO

+0

記錄欄是什麼意思? – 2017-10-12 05:39:04

+0

「記錄」是什麼意思?我沒有說我相信。如果你的意思是「重新排序」,我的意思是改變列順序。 – NEURO

回答

0

您可以手動映射。在你的DataGridView中,你會看到右上角的一個三角形。在那裏你可以根據你喜歡的順序手動映射它。 (對不起,我不能評論,因爲我需要50個聲望,我只有11個)

+0

您是否知道是否有重新排序數據集的方法?我的意思是,數據集按詞彙自動排序,這就是爲什麼即時獲取數據的方式,我實際上不想 – NEURO

+0

,這很奇怪。我使用的模式與您的模式幾乎相同(獲取DataTable,然後對每行進行foreach並將每個圖映射到項目列表的屬性),並且我總是會獲得與該類相同的精確排列(在您的情況下,Persona)所以我不知道如何安排它,而是手動將它映射到窗體上的datagridview – NoobProgger