Este artigo foi traduzido por máquina. Para visualizar o arquivo em inglês, marque a caixa de seleção Inglês. Você também pode exibir o texto Em inglês em uma janela pop-up, movendo o ponteiro do mouse sobre o texto.
Tradução
Inglês

Classe DataGridViewCellErrorTextNeededEventArgs

 

Fornece dados para o CellErrorTextNeeded eventos de um DataGridView controle.

Namespace:   System.Windows.Forms
Assembly:  System.Windows.Forms (em System.Windows.Forms.dll)

System.Object
  System.EventArgs
    System.Windows.Forms.DataGridViewCellEventArgs
      System.Windows.Forms.DataGridViewCellErrorTextNeededEventArgs

public class DataGridViewCellErrorTextNeededEventArgs : DataGridViewCellEventArgs

NomeDescrição
System_CAPS_pubpropertyColumnIndex

Obtém um valor que indica o índice de coluna da célula para a qual o evento ocorre.(Herdado de DataGridViewCellEventArgs.)

System_CAPS_pubpropertyErrorText

Obtém ou define a mensagem exibida quando a célula está selecionada.

System_CAPS_pubpropertyRowIndex

Obtém um valor que indica o índice da linha da célula para a qual o evento ocorre.(Herdado de DataGridViewCellEventArgs.)

NomeDescrição
System_CAPS_pubmethodEquals(Object)

Verifica se o objeto especificado é igual ao objeto atual. (Herdado de Object.)

System_CAPS_protmethodFinalize()

Permite que um objeto tente liberar recursos e executar outras operações de limpeza antes que ele seja recuperado pela coleta de lixo. (Herdado de Object.)

System_CAPS_pubmethodGetHashCode()

Serve como a função de hash padrão.(Herdado de Object.)

System_CAPS_pubmethodGetType()

Obtém o Type da instância atual.(Herdado de Object.)

System_CAPS_protmethodMemberwiseClone()

Cria uma cópia superficial do Object atual.(Herdado de Object.)

System_CAPS_pubmethodToString()

Retorna uma string que representa o objeto atual.(Herdado de Object.)

O CellErrorTextNeeded evento ocorre somente quando o DataGridView controle DataSource está definida ou seu VirtualMode é de propriedade true. Manipulando o CellErrorTextNeeded evento é útil quando você deseja determinar o erro de uma célula, dependendo de seu valor ou o estado.

Quando você manipula o CellErrorTextNeeded eventos e especificar o texto de erro no manipulador de um glifo de erro é exibida na célula, a menos que o DataGridView.ShowCellErrors está definida como false ou a célula está em modo de edição. Quando o usuário move o ponteiro do mouse sobre o glifo de erro, o texto de erro é exibida em uma dica de ferramenta.

O CellErrorTextNeeded evento também ocorre sempre que o valor da DataGridViewCell.ErrorText propriedade é recuperada.

Você pode usar o DataGridViewCellEventArgs.RowIndex e ColumnIndex propriedade para determinar o estado ou o valor de uma célula e usar essas informações para alterar ou modificar o DataGridViewCellErrorTextNeededEventArgs.ErrorText propriedade. Essa propriedade é inicializada com o valor da célula ErrorText propriedade, que substitui o valor do evento.

Manipular o CellErrorTextNeeded evento ao trabalhar com grandes quantidades de dados para evitar as penalidades de desempenho de definir a célula ErrorText valor para várias células. Para obter mais informações, consulte Práticas recomendadas para dimensionamento do controle DataGridView dos Windows Forms.

Para obter mais informações sobre manipulação de eventos, consulte PONTA: consumindo eventos.

No código a seguir o exemplo demonstra como criar mensagens de erro para células sem descompartilhar linhas ou causando o erro de célula a ser duplicado em todas as células compartilhadas.

private ToolStripMenuItem wholeTable = new ToolStripMenuItem();
private ToolStripMenuItem lookUp = new ToolStripMenuItem();
private ContextMenuStrip strip;
private string cellErrorText;

private void dataGridView1_CellContextMenuStripNeeded(object sender,
    DataGridViewCellContextMenuStripNeededEventArgs e)
{
    cellErrorText = String.Empty;

    if (strip == null)
    {
        strip = new ContextMenuStrip();
        lookUp.Text = "Look Up";
        wholeTable.Text = "See Whole Table";
        strip.Items.Add(lookUp);
        strip.Items.Add(wholeTable);
    }
    e.ContextMenuStrip = strip;
}

private void wholeTable_Click(object sender, EventArgs e)
{
    dataGridView1.DataSource = Populate("Select * from employees", true);
}

private DataGridViewCellEventArgs theCellImHoveringOver;

private void dataGridView1_CellMouseEnter(object sender, DataGridViewCellEventArgs e)
{
    theCellImHoveringOver = e;
}

private DataGridViewCellEventArgs cellErrorLocation;

private void lookUp_Click(object sender, EventArgs e)
{
    try
    {
        dataGridView1.DataSource = Populate("Select * from employees where " +
            dataGridView1.Columns[theCellImHoveringOver.ColumnIndex].Name + " = '" +
            dataGridView1.Rows[theCellImHoveringOver.RowIndex].
            Cells[theCellImHoveringOver.ColumnIndex].Value + "'",
            true);
    }
    catch (SqlException)
    {
        cellErrorText = "Can't look this cell up";
        cellErrorLocation = theCellImHoveringOver;
    }
}

private void dataGridView1_CellErrorTextNeeded(object sender,
    DataGridViewCellErrorTextNeededEventArgs e)
{
    if (cellErrorLocation != null)
    {
        if (e.ColumnIndex == cellErrorLocation.ColumnIndex &&
            e.RowIndex == cellErrorLocation.RowIndex)
        {
            e.ErrorText = cellErrorText;
        }
    }
}

private DataTable Populate(string query, bool resetUnsharedCounter)
{
    if (resetUnsharedCounter)
    {
        ResetCounter();
    }

    // Alter the data source as necessary
    SqlDataAdapter adapter = new SqlDataAdapter(query,
        new SqlConnection("Integrated Security=SSPI;Persist Security Info=False;" +
        "Initial Catalog=Northwind;Data Source=localhost"));

    DataTable table = new DataTable();
    table.Locale = System.Globalization.CultureInfo.InvariantCulture;
    adapter.Fill(table);
    return table;
}

private Label count = new Label();
private int unsharedRowCounter;

private void ResetCounter()
{
    unsharedRowCounter = 0;
    count.Text = unsharedRowCounter.ToString();
}

.NET Framework
Disponível desde 2.0

Quaisquer membros estáticos públicos ( Compartilhado no Visual Basic) desse tipo são thread-safe. Não há garantia de que qualquer membro de instância seja thread-safe.

Retornar ao início
Mostrar: