Breve relato para ajudar a preencher um listView.
private void InsereItem()
{
ListViewItem item = new ListViewItem();
item = listView1.Items.Add("Sequencia");
item.SubItems.Add("Codigo");
item.SubItems.Add("Descricao");
item.SubItems.Add("ItemQtde");
item.SubItems.Add("ItemUnidade");
item.SubItems.Add("ItemVlrUnitario");
item.SubItems.Add("ItemDesconto");
item.SubItems.Add("ItemAliqICMS");
item.SubItems.Add("ItemAliqIPI");
item.SubItems.Add("ItemIPIValor");
item.SubItems.Add("ItemTP");
item.SubItems.Add("ItemVlrTotal");
item.SubItems.Add("EmpCodigo");
item.SubItems.Add("NumNota");
item.SubItems.Add("NumLanc");
item.SubItems.Add("DtMovimento");
item.SubItems.Add("SitTributaria");
item.SubItems.Add("IcmsValor");
//listView1.Items.Add(item);
}
private void PreparaListView()
{
//verifica se foi informada uma consulta
//if (t.Text.Equals(""))
//{
// MessageBox.Show("Digite uma instrução válida.");
// return;
//}
//define a string de conexão
string sDBstr = @"Provider=sqloledb;Data Source=cpd2\SQLExpress;Initial Catalog=NomeBanco;User Id=sa;Password=xxxs"; //conexao oledb
Csql = "SELECT ItemSequencia,NI.Codigo,P.Descricao,ItemQtde,ItemUnidade,ItemVlrUnitario " +
" ,ItemDesconto,ItemAliqICMS,IcmsValor" +
" ,ItemAliqIPI,ItemIPIValor,ItemTP,ItemVlrTotal,EmpCodigo,NFNumNota,NumLanc,ItemDtMovimento " +
" ,SitTributaria,ItemIcmsValor " +
" FROM NotaItem NI inner join Produto p on NI.Codigo = P.Codigo ";
//criar o objeto connection
OleDbConnection conn = new OleDbConnection(sDBstr);
try
{
//limpa o listview
listView1.Columns.Clear() ;
listView1.Items.Clear();
//abre a conexao
conn.Open();
//cria um comando oledb
OleDbCommand cmd = conn.CreateCommand();
//define o tipo do comando como texto
cmd.CommandText = Csql;
//executa o comando e gera um datareader
OleDbDataReader dr = cmd.ExecuteReader();
//preenche o cabeçalho do listview com os nomes dos campos
for (int i = 0; i< dr.FieldCount; i++)
{
ColumnHeader ch = new ColumnHeader();
ch.Text=dr.GetName(i);
listView1.Columns.Add(ch);
}
//define um item listview
ListViewItem item;
//inicia leitura do datareader
while (dr.Read())
{
item=new ListViewItem();
item.Text= dr.GetValue(0).ToString();
//preenche o listview com itens
for (int i=1 ; i< dr.FieldCount; i++) {
item.SubItems.Add(dr.GetValue(i).ToString());
}
listView1.Items.Add(item);
}
//fecha o datareader
dr.Close();
}
catch ( System.Data.OleDb.OleDbException ex)
{
MessageBox.Show("Ocorreu um erro durante a execução da instrução SQL." +
"Erro : " + ex.Message, "SQL");
}
finally
{
//fecha a conexao
conn.Close();
}
}
Nenhum comentário:
Postar um comentário