BUSCA EM DATAGRIDVIEW

BETOPMJB 28/07/2015 13:24:18
#449310
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?
TUNUSAT 28/07/2015 15:37:56
#449314
BETOPMJB,

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.
BETOPMJB 28/07/2015 18:28:50
#449328
nesse código seu onde coloco o que eu quero localizar?
KERPLUNK 28/07/2015 18:32:58
#449329
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.
BETOPMJB 28/07/2015 18:46:33
#449331
KERPLUNK o meu grid não está vinculado, ao datasource.

tem algum exemplo, que possa me passar?
KERPLUNK 28/07/2015 19:05:43
#449333
Estou falando da propriedade DataSource do DataGridView...
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.
BETOPMJB 28/07/2015 19:08:16
#449334
essas seriam as unicas formas, outeria outro sem eu criar um datasource.
KERPLUNK 28/07/2015 19:14:32
#449335
Tem, mas da muito mais trabalho, tem muito mais código e muito mais chance de ficar meia boca...
BETOPMJB 28/07/2015 20:39:33
#449338
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]);
}
}
}
Tópico encerrado , respostas não são mais permitidas