Compartilhar via


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.