Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

rafaelsouzab

GridVIew não exibe primeira linha da consulta c#

Recommended Posts

Galera,

estou com um probleminha, andei pesquisando mas não achei nada, eu faço uma consulta no sql server e traz todas linhas normais, porem quando carrego no grid view ele simplesmente não exibe a primeira linha, do 1 pula pro 2...

estou fazendo assim para exibir....

No caso o método formatagridview não esta fazendo isso pois já retirei ele e continua da mesma forma....

SqlCommand cmd79 = new SqlCommand();
            cmd79.CommandText = String.Format("select *from h_estagiarios where cod_estagiario = {0}", Usuario.Cod_user);
            cmd79.CommandType = CommandType.Text;
            cmd79.Connection = Conexao.abreConexao();
            SqlDataReader DR79;


            DataTable DT = new DataTable();
            try
            {
                DR79 = cmd79.ExecuteReader();
                if (DR79.Read())
                {
                    DT.Load(DR79);
                    dgvHorarios.DataSource = DT;
                    formataGridView();
                }


                cmd79.Dispose();
                DR79.Close();
            }
            catch (SqlException ex)
            {


                MessageBox.Show(ex.Message);
            }
            finally
            {
                Conexao.fecharConexao();
            }

método formata grid

private void formataGridView()
        {
            var grade = dgvHorarios;
            grade.AutoGenerateColumns = false;
            grade.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.DisplayedCellsExceptHeaders;
            grade.ColumnHeadersBorderStyle = DataGridViewHeaderBorderStyle.Single;

            //altera a cor das linhas alternadas no grid
            grade.RowsDefaultCellStyle.BackColor = Color.White;
            grade.AlternatingRowsDefaultCellStyle.BackColor = Color.LightGray;
            
            //altera o nome das colunas
            grade.Columns[0].HeaderText = "Codigo";
            grade.Columns[1].HeaderText = "Dias";
            grade.Columns[2].HeaderText = "Justificativa";
            grade.Columns[3].HeaderText = "Entrada";
            grade.Columns[4].HeaderText = "Entrada almoço";
            grade.Columns[5].HeaderText = "Saida almoço";
            grade.Columns[6].HeaderText = "Saida";
            //Altera largura
            grade.Columns[0].Width = 50;
            grade.Columns[2].Width = 70;
            grade.Columns[3].Width = 70;
            grade.Columns[4].Width = 70;
            grade.Columns[5].Width = 80;
            grade.Columns[6].Width = 100;
            grade.Columns[1].Width = 70;

            

            //formata as colunas valor, vencimento e pagamento
            grade.Columns[3].DefaultCellStyle.Format = "t";
            grade.Columns[4].DefaultCellStyle.Format = "t";
            grade.Columns[5].DefaultCellStyle.Format = "t";
            grade.Columns[6].DefaultCellStyle.Format = "t";

            DataGridViewTextBoxColumn cName = (DataGridViewTextBoxColumn)grade.Columns[3];//here index of column
            cName.MaxInputLength = 5;//here Max Length to column
            DataGridViewTextBoxColumn cName2 = (DataGridViewTextBoxColumn)grade.Columns[4];//here index of column
            cName2.MaxInputLength = 5;//here Max Length to column
            DataGridViewTextBoxColumn cName3 = (DataGridViewTextBoxColumn)grade.Columns[5];//here index of column
            cName3.MaxInputLength = 5;//here Max Length to column
            DataGridViewTextBoxColumn cName4 = (DataGridViewTextBoxColumn)grade.Columns[6];//here index of column
            cName4.MaxInputLength = 5;//here Max Length to column

            grade.Columns[0].ReadOnly = true;
            grade.Columns[1].ReadOnly = true;
            

            //seleciona somente a cell
            grade.SelectionMode = DataGridViewSelectionMode.CellSelect;
            //não permite seleção de multiplas linhas    
            grade.MultiSelect = false;
            
            // exibe nulos formatados
            //grade.DefaultCellStyle.NullValue = " - ";
            //permite que o texto maior que célula não seja truncado
            grade.DefaultCellStyle.WrapMode = DataGridViewTriState.True;
            //define o alinhamento à esquerda
            grade.Columns[0].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleLeft;
            grade.Columns[1].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleLeft;
            grade.Columns[2].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleLeft;
            grade.Columns[3].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleLeft;
            grade.Columns[4].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleLeft;
            grade.Columns[5].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleLeft;
        }

Compartilhar este post


Link para o post
Compartilhar em outros sites

estou fazendo assim agora e ta exibindo a linha, porem estou tendo outro problema....


  conn = new SqlConnection(connectionString);
                    sql = String.Format("select *from h_estagiarios where cod_estagiario = {0}", Usuario.Cod_user);


                    da = new SqlDataAdapter(sql, conn);
                    conn.Open();
                    ds = new DataSet();
                    dt = new DataTable();
                    SqlCommandBuilder commandBuilder = new SqlCommandBuilder(da);
                    da.Fill(dt);
                    bsource.DataSource = dt;
                    dgvHorarios.DataSource = bsource;         


                   // DT.Load(DR79);
                    
                   // dgvHorarios.DataSource = DT;
                    formataGridView();


                    conn.Close();

e esta exibindo tudo certo....

porem estou com problemas nesse codigo agora, talvez o problema não seja exatamente no codigo...

SqlCommand cmd = new SqlCommand();

cmd.CommandText = String.Format("update h_estagiarios set justificativas = @Justificativas , entrada = @Entrada, e_almoco = @e_almoco, s_almoco = @s_almoco, saida = @saida where cod_estagiario = @Cod_estagiario and dias = @Dias");
cmd.CommandType = CommandType.Text;
cmd.Connection = Conexao.abreConexao();
try
{
if (dgvHorarios.Rows.Count > 1)
{
for (int i = 0; i <= dgvHorarios.Rows.Count - 1; i++)
{
//int col1 = Convert.ToInt32(dgvHorarios.Rows.Cells[0].Value); //id
O erro em questão esta aparecendo nessas linhas...
string col1 = dgvHorarios.Rows.Cells[2].Value.ToString(); //Justificativa
string col3 = dgvHorarios.Rows.Cells[3].Value.ToString(); //ENtrada
string col4 = dgvHorarios.Rows.Cells[4].Value.ToString(); //e_almoço
string col5 = dgvHorarios.Rows.Cells[5].Value.ToString(); //s_almoço
string col6 = dgvHorarios.Rows.Cells[6].Value.ToString(); //saida
string col2 = dgvHorarios.Rows.Cells[1].Value.ToString(); //Dias
subentradah = col3.Substring(0, 2);
subentradam = col3.Substring(3, 2);
subealmocoh = col4.Substring(0, 2);
subealmocom = col4.Substring(3, 2);
subsalmocoh = col5.Substring(0, 2);
subsalmocom = col5.Substring(3, 2);
subsaidah = col6.Substring(0, 2);
subsaidam = col6.Substring(3, 2);
finalentrada = subentradah + ":" + subentradam;
finalealmoco = subealmocoh + ":" + subealmocom;
finalsalmoco = subsalmocoh + ":" + subsalmocom;
finalsaida = subsaidah + ":" + subsaidam;
cmd.Parameters.Clear();
cmd.Parameters.AddWithValue("@Justificativas", col1);
cmd.Parameters.AddWithValue("@Entrada", finalentrada);
cmd.Parameters.AddWithValue("@e_almoco", finalealmoco);
cmd.Parameters.AddWithValue("@s_almoco", finalsalmoco);
cmd.Parameters.AddWithValue("@saida", finalsaida);
cmd.Parameters.AddWithValue("@Cod_estagiario", Usuario.Cod_user);
cmd.Parameters.AddWithValue("@Dias", col2);
cmd.ExecuteNonQuery();
cmd.Dispose();
}
}
}
catch (SqlException ex)
{
MessageBox.Show(ex.Message);
}
finally
{
Conexao.fecharConexao();
}

sou0ck.png

21ekpi.png

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.