BUSCA EM DATAGRIDVIEW
preciso buscar um determinado codigo um datagrid e excluir a linha em que o código está, como posso fazer alguém pode me ajudar?
BETOPMJB,
Basicamente é isso:
http://pt.stackoverflow.com/questions/55242/deletar-uma-linha-no-datagrid
Como obter as células, as linhas e as colunas selecionadas no controle DataGridView dos Windows Forms
https://msdn.microsoft.com/pt-br/library/x8x9zk5a(v=vs.110).aspx?cs-save-lang=1&cs-lang=csharp#code-snippet-2
[][ô]s,
Tunusat.
Basicamente é isso:
http://pt.stackoverflow.com/questions/55242/deletar-uma-linha-no-datagrid
var indice = e.RowIndex;
if (indice >= 0) {
var linha = dataGridView1.Rows[indice];
if (!linha.IsNewRow)
dataGridView1.Rows.Remove(linha);
}
Como obter as células, as linhas e as colunas selecionadas no controle DataGridView dos Windows Forms
https://msdn.microsoft.com/pt-br/library/x8x9zk5a(v=vs.110).aspx?cs-save-lang=1&cs-lang=csharp#code-snippet-2
private void selectedCellsButton_Click(object sender, System.EventArgs e)
{
Int32 selectedCellCount =
dataGridView1.GetCellCount(DataGridViewElementStates.Selected);
if (selectedCellCount > 0)
{
if (dataGridView1.AreAllCellsSelected(true))
{
MessageBox.Show([Ô]All cells are selected[Ô], [Ô]Selected Cells[Ô]);
}
else
{
System.Text.StringBuilder sb =
new System.Text.StringBuilder();
for (int i = 0;
i < selectedCellCount; i++)
{
sb.Append([Ô]Row: [Ô]);
sb.Append(dataGridView1.SelectedCells[i].RowIndex
.ToString());
sb.Append([Ô], Column: [Ô]);
sb.Append(dataGridView1.SelectedCells[i].ColumnIndex
.ToString());
sb.Append(Environment.NewLine);
}
sb.Append([Ô]Total: [Ô] + selectedCellCount.ToString());
MessageBox.Show(sb.ToString(), [Ô]Selected Cells[Ô]);
}
}
}
[][ô]s,
Tunusat.
nesse código seu onde coloco o que eu quero localizar?
Preencha a lista com uma lista List<T> e passe-a como datasource. Quando quiser novamente buscar dados, use um cast para transformar o datasource novamente em lista e use uma expressão lambda para fazer a procura e exclusão do Ãtem. Em seguida repasse a lista já com o Ãtem excluÃdo de volta para o datasource do grid.
KERPLUNK o meu grid não está vinculado, ao datasource.
tem algum exemplo, que possa me passar?
tem algum exemplo, que possa me passar?
Estou falando da propriedade DataSource do DataGridView...
Para testar:
Crie uma classe:
Então faça uma lista e adicione no grid:
Para fazer a procura, no evento que você quiser:
Basicamente isso.
Para testar:
Crie uma classe:
public class Cliente
{
public int Id {get;set;}
public string Nome {get;set;}
}
Então faça uma lista e adicione no grid:
List<Cliente> clientes = new List<Cliente>
clientes.Add(new Cliente(){ Id = 1; Nome = [Ô]Zezinho[Ô]};
clientes.Add(new Cliente(){ Id = 2; Nome = [Ô]Pedrinho[Ô]};
clientes.Add(new Cliente(){ Id = 3; Nome = [Ô]Mariazinha[Ô]};
dgvClientes.DataSource = clientes;
Para fazer a procura, no evento que você quiser:
List<Cliente> clientes = dgvClientes.DataSource;
clientes.Remove(c => c.Nome == txtProcura.Text);
// repassando a lista
dgvClientes.DataSource = clientes;
Basicamente isso.
essas seriam as unicas formas, outeria outro sem eu criar um datasource.
Tem, mas da muito mais trabalho, tem muito mais código e muito mais chance de ficar meia boca...
usei desta forma para resolver meu problema, obrigado a todos.
if (Grid1.Rows.Count >= 1)
{
for (int i = 0; i <= Grid1.Rows.Count - 1; i++)
{
if (Grid1.Rows[i].Cells[0].Value.ToString() == SerTirado.ToString())
{
Grid1.Rows.Remove(Grid1.Rows[i]);
}
}
}
if (Grid1.Rows.Count >= 1)
{
for (int i = 0; i <= Grid1.Rows.Count - 1; i++)
{
if (Grid1.Rows[i].Cells[0].Value.ToString() == SerTirado.ToString())
{
Grid1.Rows.Remove(Grid1.Rows[i]);
}
}
}
Tópico encerrado , respostas não são mais permitidas