Este fim de semana tive a oportunidade de construir uma aplicação Windows Forms e de utilizar a nova DataGridView. Esta nova grelha promete. O único problema que ainda não consegui resolver prende-se com a utilização da coluna do tipo DataGridViewComboBoxColum. Deixem-me explicar melhor a situação...Tenho um dataset com duas tabelas:
- Contactos (IdContactos, IdAlunos, Contacto, IdTiposContactos)
- TiposContactos (IdTiposContactos, Descricao)
O dataset também define um relacionamento entre as colunas IdTiposContactos (existentes em ambas as tabelas). Bem, no evento OnLoad estou a definir explicitamente as colunas da datagird que está relacionada com a tabela contactos (neste caso, a datagriview apenas mostra as colunas Contacto e IdTiposContactos da tabela Contactos). A coluna IdTiposContactos é do tipo ComboBox e está associada à segunda tabela. Em runtime obtenho uma excepção se no meu evento onload utilizar a seguinte linha:
this.DataGridViewComboBoxColumn.DataPropertyName = "IdTiposContactos";
Se eu não utilizar a linha anterior, então não possuo qualquer relacionamento entre a coluna IdTiposContactos do datatable (que está contido no dataset) e a coluna apresentada na grid. Se colocar, não consigo seleccionar um item na combo box pois ao tentar escolher um item gero sempre uma excepção. Já agora, a excepção apenas diz o seguinte: "index -1 is either negative or above rows count"...
O que será que estoua fazer mal?
posted on Saturday, July 10, 2004 10:33 PM