Array
(
)

WinForm - DataGridTextBox - Erro de navegação

Licitec
   - 29 dez 2005

Quem tiver o projeto TimeSheet publicado na revista MSDN Magazine - Vol 1 -
5a. Edição, poderá testar esse problema.

Basicamente, imagine dois ou três DataGrids em um form.
Um dataset é carregado com dados de várias tabelas relacionadas 1-N.
Para um dos GRIDs, SetDataBinding é carregado com o DataSource = dataset e
DataMember = ´TabelaMestre´.
Os outros grids são carregados cada um com um relacionamento 1-N da tabela
mestre e o mesmo dataset como DataSource. Exemplo do DataMember de um grid
filho: ´TabelaMestre.Relacionamento1Filho´.

O resultado, vocês já entenderam. Quando selecionamos uma linha no GRID
Mestre, automaticamente os GRIDS vinculados são atualizados com os registros
relacionados (1-N).

As colunas, nos três grids, foram otimizadas com TableStyles e
GridColumnStyles.

-> O ERRO < -

1) Nas DataGridTextBoxColumn de um dos GRIDs filhos marque a proprieade
ReadOnly como = True (não queremos que o usuário altere o conteúdo da célula,
pois poderia ser um ID daquele registro).
2) Execute a aplicação, que irá carregar o dataset e atribuir DataBinding
aos GRIDS. O primeiro registro do GRID Master é posicionado e os outros dois
GRIDS exibirão os registros relacionados com a row ativa do mestre.
3) Posicione o mouse sobre uma das colunas ReadOnly de um dos GRIDs filho...
4) Agora, no GRID mestre, mude a row selecionada.
5) Observe que o TextBox que está embutido no DataGridTextBoxColumn daquela
célula selecionada no Grid filho não foi atualizado. Inclusive, se nesse novo
relacionamento não existir a linha correspondente, o textbox ´fastasma´
permanece na tela. Quando você clicar sobre o GRID, o textbox some....

Alguém já passou por isso ?