none
Membandingkan Nilai Pada GridView RRS feed

  • Pertanyaan

  • Selamat Siang Rekan-Rekan

    Mohon bantuan bagaimana cara untuk membandingkan nilai Pada Cell Gridview

    Jika nilai pada kolom4 bernilai "FAIL", maka nilai sesudahnya akan di bandingkan dengan nilai sebelumnya yang Bernilai "PASS"

    Mudah2an gambar berikut bisa menjelaskan maksud saya :

    Saya sudah mencoba code berikut, tetapi nilai hanya di bandingkan dengan nilai cell sebelumnya, 

     private void Form1_Load(object sender, EventArgs e)
            {
                // This is salmple data loaded into gridview
                dgvRecords.Rows.Add(7);
                dgvRecords.Rows[0].Cells[3].Value = "123456";
                dgvRecords.Rows[1].Cells[3].Value = "123457";
                dgvRecords.Rows[2].Cells[3].Value = "123458";
                dgvRecords.Rows[3].Cells[3].Value = "123456";
                dgvRecords.Rows[4].Cells[3].Value = "123457";
                dgvRecords.Rows[5].Cells[3].Value = "123459";
                dgvRecords.Rows[6].Cells[3].Value = "1234510";
                dgvRecords.Rows[7].Cells[3].Value = "1234511";
    
                
                // COMPARE
                int Kolom = dgvRecords.ColumnCount;
                int Baris = dgvRecords.RowCount;
                int indx = 3;
    
    
                for (int i = 1; i < dgvRecords.RowCount; ++i)
                {
                    Int64 nilaibanding = Convert.ToInt64(dgvRecords[3, i - 1].Value);
    
                    if (nilaibanding >= Convert.ToInt64(dgvRecords[3, i].Value))
                    {
                        DataGridViewCellStyle CellStyle = new DataGridViewCellStyle();
                        CellStyle.BackColor = Color.Red;
                        dgvRecords.Rows[i].Cells[indx].Style = CellStyle;
                        dgvRecords.Rows[i].Cells[4].Value = "FAIL";
                    }
                    else
                    {
                        DataGridViewCellStyle CellStyle = new DataGridViewCellStyle();
                        CellStyle.BackColor = Color.LawnGreen;
                        dgvRecords.Rows[i].Cells[indx].Style = CellStyle;
                        dgvRecords.Rows[i].Cells[4].Value = "PASS";
                    }
                }
            }
        }
    }


    Senin, 19 Februari 2018 06.56

Jawaban

  • for (int i = 1; i < dgvRecords.RowCount; ++i)
    {
    Int64 nilaibanding = Convert.ToInt64(dgvRecords[3, i - 1].Value);
    
    if (nilaibanding >= Convert.ToInt64(dgvRecords[3, i].Value))
    {
    DataGridViewCellStyle CellStyle = new DataGridViewCellStyl();
    CellStyle.BackColor = Color.Red;
    dgvRecords.Rows[i].Cells[indx].Style = CellStyle;
    dgvRecords.Rows[i].Cells[4].Value = "FAIL";
    }
    else
    {
    DataGridViewCellStyle CellStyle = new DataGridViewCellStyle();
    CellStyle.BackColor = Color.LawnGreen;
    dgvRecords.Rows[i].Cells[indx].Style = CellStyle;
    dgvRecords.Rows[i].Cells[4].Value= "PASS";
    }
    }

    di rubah menjadi

    for (int i = 0; i < dgvRecords.Rows.Count; ++i)
                {
                    //nilai banding adalah nilai yang akan di FAILL atau di PASS
                    Int64 nilaibanding = Convert.ToInt64(dgvRecords[3,i].Value);
                    for (int a = 0; a < i; ++a)
                    {
                        //nilai2 adalah nilai yang di cari yang berada di atas nilaibanding
                        Int64 nilai2 = Convert.ToInt64(dgvRecords[3, a].Value);
                        if (nilaibanding <= nilai2)
                        {
                            DataGridViewCellStyle CellStyle = new DataGridViewCellStyle();
                            CellStyle.BackColor = Color.Red;
                            dgvRecords.Rows[i].Cells[indx].Style = CellStyle;
                            dgvRecords.Rows[i].Cells[4].Value = "FAIL";
                            break;
                        }
                        else
                        {
                            DataGridViewCellStyle CellStyle = new DataGridViewCellStyle();
                            CellStyle.BackColor = Color.LawnGreen;
                            dgvRecords.Rows[i].Cells[indx].Style = CellStyle;
                            dgvRecords.Rows[i].Cells[4].Value = "PASS";
                        }
                    }
                }



    semoga membantu :)





    • Disarankan sebagai Jawaban oleh Anggara Tzet Kamis, 22 Februari 2018 07.29
    • Saran Jawaban dibatalkan oleh Anggara Tzet Kamis, 22 Februari 2018 07.29
    • Diedit oleh Anggara Tzet Kamis, 22 Februari 2018 07.30
    • Disarankan sebagai Jawaban oleh Anggara Tzet Kamis, 22 Februari 2018 07.33
    • Ditandai sebagai Jawaban oleh Deden Suansyah Senin, 26 Februari 2018 04.25
    Kamis, 22 Februari 2018 07.25

Semua Balasan

  • for (int i = 1; i < dgvRecords.RowCount; ++i)
    {
    Int64 nilaibanding = Convert.ToInt64(dgvRecords[3, i - 1].Value);
    
    if (nilaibanding >= Convert.ToInt64(dgvRecords[3, i].Value))
    {
    DataGridViewCellStyle CellStyle = new DataGridViewCellStyl();
    CellStyle.BackColor = Color.Red;
    dgvRecords.Rows[i].Cells[indx].Style = CellStyle;
    dgvRecords.Rows[i].Cells[4].Value = "FAIL";
    }
    else
    {
    DataGridViewCellStyle CellStyle = new DataGridViewCellStyle();
    CellStyle.BackColor = Color.LawnGreen;
    dgvRecords.Rows[i].Cells[indx].Style = CellStyle;
    dgvRecords.Rows[i].Cells[4].Value= "PASS";
    }
    }

    di rubah menjadi

    for (int i = 0; i < dgvRecords.Rows.Count; ++i)
                {
                    //nilai banding adalah nilai yang akan di FAILL atau di PASS
                    Int64 nilaibanding = Convert.ToInt64(dgvRecords[3,i].Value);
                    for (int a = 0; a < i; ++a)
                    {
                        //nilai2 adalah nilai yang di cari yang berada di atas nilaibanding
                        Int64 nilai2 = Convert.ToInt64(dgvRecords[3, a].Value);
                        if (nilaibanding <= nilai2)
                        {
                            DataGridViewCellStyle CellStyle = new DataGridViewCellStyle();
                            CellStyle.BackColor = Color.Red;
                            dgvRecords.Rows[i].Cells[indx].Style = CellStyle;
                            dgvRecords.Rows[i].Cells[4].Value = "FAIL";
                            break;
                        }
                        else
                        {
                            DataGridViewCellStyle CellStyle = new DataGridViewCellStyle();
                            CellStyle.BackColor = Color.LawnGreen;
                            dgvRecords.Rows[i].Cells[indx].Style = CellStyle;
                            dgvRecords.Rows[i].Cells[4].Value = "PASS";
                        }
                    }
                }



    semoga membantu :)





    • Disarankan sebagai Jawaban oleh Anggara Tzet Kamis, 22 Februari 2018 07.29
    • Saran Jawaban dibatalkan oleh Anggara Tzet Kamis, 22 Februari 2018 07.29
    • Diedit oleh Anggara Tzet Kamis, 22 Februari 2018 07.30
    • Disarankan sebagai Jawaban oleh Anggara Tzet Kamis, 22 Februari 2018 07.33
    • Ditandai sebagai Jawaban oleh Deden Suansyah Senin, 26 Februari 2018 04.25
    Kamis, 22 Februari 2018 07.25
  • Terimakasih Banyak Pak Anggara

    Sangat-Sangat membantu

    Senin, 26 Februari 2018 04.27