// // Mohon Info : penggunaan DataGrid ( mengatur column dan row secara manual ) - Geeks Portal

Mohon Info : penggunaan DataGrid ( mengatur column dan row secara manual )

Last post 05-02-2009 16:01 by fahazzi. 5 replies.
Page 1 of 1 (6 items)
Sort Posts: Previous Next
  • 03-17-2009 8:07

    Mohon Info : penggunaan DataGrid ( mengatur column dan row secara manual )

    dear all,

    mohon info dan pencerahannya untuk proses penggunaan data grid untuk menampilkan database, jika menggunakan defaultview, data akan tampil pada datagrid tetapi harus diatur panjang kolomnya secara manual ( rasanya end user akan sebal jika harus menggeser cursor untuk melebarkan kolom Big Smile )

    berikut ini sourcecodenya jika menggunakan defaultview :

    // buat perintah sqlnya

    string queryPresensi = "select c.presensi_no as 'Nomor' , s.siswa_nama as 'Nama Siswa' ," +

    "k.kelas_nama as 'Kelas',c.presensi_datang as 'Jam Datang',c.presensi_pulang as 'Jam Pulang' " +

    " from coba_presensi c, siswa s , kelas k " +

    "where c.siswa_iccid = s.siswa_iccid and s.kelas_id = k.kelas_id group by c.presensi_no;";

    // buat data adapter mysql

    MySql.Data.MySqlClient.MySqlDataAdapter myDtAdpPresensi = new MySql.Data.MySqlClient.MySqlDataAdapter(queryPresensi, myConn);

    // buat data setnya

    DataSet myDtSetPresensi = new DataSet();

     

    // isi dan tampilkan pada data grid

    myDtAdpPresensi.Fill(myDtSetPresensi, "coba_presensi");dgViewPresensi.DataSource = myDtSetPresensi.Tables["coba_presensi"].DefaultView;

     

    nah, kemudian dilakukan pengaturan secara manual untuk mengatur lebar kolom, dimana sourcecodenya menjadi :

     

    MySql.Data.MySqlClient.MySqlConnection myConnPb = new MySql.Data.MySqlClient.MySqlConnection();

    myConnPb.ConnectionString =

    "Persist Security Info=False;database=smps_isat;server=localhost;Connect Timeout=90;" +"user id=root; pwd=mysql911";

    myConnPb.Open();

    // buat perintah sqlnya

    string queryPresensi = "select c.presensi_no as 'Nomor' , s.siswa_nama as 'Nama Siswa' ," +

    "k.kelas_nama as 'Kelas',c.presensi_datang as 'Jam Datang',c.presensi_pulang as 'Jam Pulang' " +

    ", c.presensi_keterangan as 'Keterangan' " +

    " from coba_presensi c, siswa s , kelas k " +

    "where c.siswa_iccid = s.siswa_iccid and s.kelas_id = k.kelas_id group by c.presensi_no;";

    // mengeksekusi menggunakan mysql datareader

    MySql.Data.MySqlClient.MySqlCommand cmdQueryPresensi = new MySql.Data.MySqlClient.MySqlCommand(queryPresensi);

    cmdQueryPresensi.Connection = myConnPb;

    // baca dengan menggunakan mysql data reader

    MySql.Data.MySqlClient.MySqlDataReader presensiReader;

    presensiReader = cmdQueryPresensi.ExecuteReader();

    while (presensiReader.Read())

    {

    // sekalian format kolom

    // kolom nomor presensi

    DataGridViewColumn noPresensiCol = new DataGridViewColumn();

    DataGridViewRow noPresensiRow = new DataGridViewRow();

    noPresensiCol.HeaderText = "Nomor";

    noPresensiCol.DataPropertyName = presensiReader.GetString(0);

    noPresensiCol.Width = 80;

    // kolom nama siswa

    DataGridViewColumn namaSiswa = new DataGridViewColumn();

    namaSiswa.DataPropertyName = presensiReader.GetString(1);

    namaSiswa.HeaderText =
    "Nama Siswa";

    namaSiswa.Width = 160;

    // kolom nama kelas

    DataGridViewColumn namaKelas = new DataGridViewColumn();

    namaKelas.DataPropertyName = presensiReader.GetString(2);

    namaKelas.HeaderText =
    "Kelas";

    namaKelas.Width = 140;

    // kolom jam datang

    DataGridViewColumn jamDatang = new DataGridViewColumn();

    jamDatang.DataPropertyName = presensiReader.GetString(3);

    jamDatang.HeaderText =
    "Jam Datang";

    jamDatang.Width = 85;

    // kolom jam pulang

    DataGridViewColumn jamPulang = new DataGridViewColumn();

    jamPulang.DataPropertyName = presensiReader.GetString(4);

    jamPulang.HeaderText =
    "Jam Pulang";

    jamPulang.Width = 85;

    // kolom keterangan

    DataGridViewColumn keterangan = new DataGridViewColumn();

    keterangan.DataPropertyName = presensiReader.GetString(5);

    keterangan.HeaderText =
    "Keterangan";

    keterangan.Width = 90;

     

    // tambahkan kolom pada data grid

    dgViewPresensi.Columns.Add(noPresensiCol);

    dgViewPresensi.Columns.Add(namaSiswa);

    dgViewPresensi.Columns.Add(namaKelas);

    dgViewPresensi.Columns.Add(jamDatang);

    dgViewPresensi.Columns.Add(jamPulang);

    dgViewPresensi.Columns.Add(keterangan);

    dgViewPresensi.DataSource = presensiReader;

     

    }

    presensiReader.Close();

     

    temans, saat melakukan rebuild solution, kompiler tidak menemukan masalah, tetapi saat di eksekusi, nah .. database akan melebar kesamping, hmmm ... isi dari database itulah yang menjadi kolom Tongue Tied padahal hasil yang sy inginkan kepala kolom di buat sendiri, tetapi isi database menjadi rows.

     

    memang keliatannya repot ya ....

    mohon informasi dan pencerahan teman teman semua, untuk pengaturan kolom dan baris secara manual pada datagrid agar data dapat ditampilkan selayaknya kolom dan baris Big Smile

    .... atau mungkinkah kita melakukan pengaturan kolom dan baris saat menggunakan defaultview seperti contoh diatas ? agar end user tidak perlu menggeser kursor untuk melihat data yang tidak ditampilkan oleh kolom

    p.s : telah melakukan googling, kebanyakan contohnya menggunakan default view Surprise

    diucapkan terimakasih sebelum dan sesudahnya

    salam,

    salam,


    Aditya Ngindra
    • Post Points: 20
  • 03-24-2009 9:53 In reply to

    Re: Mohon Info : penggunaan DataGrid ( mengatur column dan row secara manual )

    Alo bos... coba bantu kasih solusi niy... Gini aja.. dari pada repot coding mending pake yang autogenerate.. pake bindingsource data gridnya bisa koq di atur unutk nyesuain sama besar isi column, mas bisa cek di properties datagridnya trus pilih edit column.. nah nanti ada pilihan column mas bisa cari di bagian layout ato kalo berdasarkan abjad ada di AutoSizeMode ganti value ya ke Displayed cell mudah2an membantu ya mas... :D
    • Post Points: 20
  • 04-16-2009 7:26 In reply to

    • fahazzi
    • Top 500 Contributor
    • Joined on 04-16-2009
    • Posts 5
    • Points 40

    Re: Mohon Info : penggunaan DataGrid ( mengatur column dan row secara manual )

    Urgen nih... klo pake default gridview tetapi mo ngambil nama header columnya gmn ? ga nemu2 saya. mksh.
    Filed under: ,
    • Post Points: 20
  • 04-17-2009 14:17 In reply to

    • fahazzi
    • Top 500 Contributor
    • Joined on 04-16-2009
    • Posts 5
    • Points 40

    Re: Mohon Info : penggunaan DataGrid ( mengatur column dan row secara manual )

    still having issue
    • Post Points: 5
  • 04-30-2009 9:06 In reply to

    Re: Mohon Info : penggunaan DataGrid ( mengatur column dan row secara manual )

     klo mo ngambil nama header pada default gridview, mungkin bs coba ini,

    dataGridView1.Columns[int index].HeaderText.ToString();

     

    klo mmg itu yg dimaksud..

    • Post Points: 20
  • 05-02-2009 16:01 In reply to

    • fahazzi
    • Top 500 Contributor
    • Joined on 04-16-2009
    • Posts 5
    • Points 40

    Re: Mohon Info : penggunaan DataGrid ( mengatur column dan row secara manual )

    iya, mksh banyak.
    Filed under:
    • Post Points: 5
Page 1 of 1 (6 items)