Solução de problemas do controle DataRepeater (Visual Studio)
Este tópico lista os problemas comuns que podem ocorrer quando você estiver trabalhando com o DataRepeater controle.
Eventos de mouse e teclado DataRepeater não são gerados
Alguns DataRepeater não são gerados eventos de controle, sistema autônomo eventos de teclado e mouse. Isso é próprio do projeto.The DataRepeater controle propriamente dito é um contêiner para DataRepeaterItem objetos e não pode ser acessado no time de execução. The DataRepeaterItem não expõe eventos em time de design. Portanto, clicando em um item ou pressionando uma tecla quando o item tiver foco não dispara um evento.
A exceção é quando o Padding propriedade é conjunto para um valor grande o suficiente para expor as bordas das DataRepeater controle. Nesse caso, clique na margem exposta irá disparar eventos de mouse.
Para resolver esse problema, adicione um Panel o controle para o ItemTemplate seção o DataRepeater controle e, em seguida, adicione os controles para o restante do Panel. Em seguida, você pode adicionar código à Panel controle evento manipuladores de teclado e mouse evento s.
DataRepeater parcialmente ocultas atrás do navegador de ligação
Ao adicionar pela primeira vez um DataRepeater o controle para um formulário e, em seguida, adicione controles ligados a dados dos Fontes de dados o janelaBindingNavigator controle pode aparecer na parte superior da DataRepeater controle. Isso é uma limitação conhecida do Fontes de dados janela e é consistente com o comportamento de outros controles, sistema autônomo a DataGridView controle.
Você pode mover tanto o DataRepeater menor que o BindingNavigator controlar ao time de design, ou adicionar código semelhante a procedimento na Load manipulador de eventos.
DataRepeater1.Top = ProductsBindingNavigator.Height
dataRepeater1.Top = productsBindingNavigator.Height;
Controles não são exibidos corretamente em time de execução
Alguns controles em um DataRepeater controle não pode ser exibido sistema autônomo esperado em time de execução. O processo usado para clonar controles a partir de ItemTemplate para o DataRepeaterItem sempre não é possível determinar todas as propriedades de todos os controles. Por exemplo, se você adicionar um não-acoplado ListBox o controle para um DataRepeater controle em time de design e popular seu Items coleção com uma lista de seqüências de caracteres, o ListBox estará vazio em time de execução. Isso ocorre porque o processo de clonagem não é possível levar em conta o Items propriedade.
Você pode corrigir problemas, sistema autônomo restaurar sistema autônomo propriedades ausentes no ItemCloned evento ocorre depois que o padrão de clonagem foi concluída. O exemplo a seguir demonstra como reparar o Items coleção de um ListBox controlar no ItemCloned manipulador de eventos.
Private Sub DataRepeater1_ItemCloned(ByVal sender As Object, ByVal e _
As Microsoft.VisualBasic.PowerPacks.DataRepeaterItemEventArgs) _
Handles DataRepeater1.ItemCloned
Dim Source As ListBox = _
CType(DataRepeater1.ItemTemplate.Controls.Item("ListBox1"), ListBox)
Dim ListBox1 As ListBox = _
CType(e.DataRepeaterItem.Controls.Item("ListBox1"), ListBox)
For Each s As String In Source.Items
ListBox1.Items.Add(s)
Next
End Sub
private void dataRepeater1_ItemCloned(object sender,
Microsoft.VisualBasic.PowerPacks.DataRepeaterItemEventArgs e)
{
ListBox Source = (ListBox)dataRepeater1.ItemTemplate.Controls["listBox1"];
ListBox listBox1 = (ListBox)e.DataRepeaterItem.Controls["listBox1"];
foreach (string s in Source.Items)
{
listBox1.Items.Add(s);
}
}
Está faltando o símbolo de seleção no cabeçalho do item
Quando você altera o SelectionColor propriedade do cabeçalho de item em um DataRepeater controle, algumas opções de cores podem causar no símbolo de seleção desapareça. Alterando o ItemHeaderSize propriedade também pode causar no símbolo de seleção desapareça.
Não não possível alterar a cor e o dimensionar do símbolo de seleção.
Se você conjunto o SelectionColor para White, o símbolo de seleção não ficará visível quando um item for selecionado pela primeira vez.
Se você conjunto o SelectionColor para Black, o símbolo de seleção não ficará visível quando um controle está selecionado e o símbolo de lápis não ficará visível quando um controle está no modo de edição.
Se o ItemHeaderSize propriedade estiver definida como um valor que seja menor do que 11, símbolos indicadores no cabeçalho do item não serão exibidos.
Você pode fornecer seu próprio símbolo de cabeçalho e seleção de item usando um PictureBox controle e monitoramento a IsCurrent propriedade das DataRepeaterItem no DrawItem evento da DataRepeater controle. Para obter mais informações, consulte IsCurrent.
Consulte também
Tarefas
Como: Exibição limite a dados em um controle DataRepeater (Visual Studio)
Como: Exibir dados não acoplados em um controle DataRepeater (Visual Studio)
Como: Alterar o layout de um controle DataRepeater (Visual Studio)
Como: Alterar a aparência de um controle DataRepeater (Visual Studio)
Como: Exibir cabeçalhos de item em um controle DataRepeater (Visual Studio)
Como: desabilitar adicionando e excluindo itens DataRepeater (Visual Studio)
Como: Dados de Pesquisar em um controle DataRepeater (Visual Studio)
Como: Criar um formulário mestre/detalhe usando dois DataRepeater Controls (Visual Studio)
Conceitos
Introdução ao controle DataRepeater (Visual Studio)
Date |
History |
Motivo |
---|---|---|
Julho de 2008 |
Tópico adicional. |
Alteração de recurso do SP1. |