Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Add button column in a databound datagridview

i have a datagridview. i bound it to a list. now i want to show a column at the end of it. but that column apprear in wrong possition.

this is my code

    grdPatientAppointment.DataSource = lst;


        grdPatientAppointment.Columns["ID"].Visible = false;
        //grdPatientAppointment.Columns["AdmitDate"].Visible = false;
        //grdPatientAppointment.Columns["DischargeDate"].Visible = false;
        grdPatientAppointment.Columns["AppointmentID"].Visible = false;

        grdPatientAppointment.Columns["PatientrName"].DisplayIndex = 0;
        grdPatientAppointment.Columns["Age"].DisplayIndex = 1;
        grdPatientAppointment.Columns["Address"].DisplayIndex = 2;
        grdPatientAppointment.Columns["ContactNo"].DisplayIndex = 3;
        grdPatientAppointment.Columns["Dieseas"].DisplayIndex = 4;
        grdPatientAppointment.Columns["AppointmentDate"].DisplayIndex = 5;

        DataGridViewButtonColumn btnColumn = new DataGridViewButtonColumn();
        btnColumn.HeaderText = "Treat";
        btnColumn.Text = "Treat";
        btnColumn.UseColumnTextForButtonValue = true;            
        grdPatientAppointment.Columns.Insert(6,btnColumn);

here is output:

here is output

but i want that button to the end of datagrid view

like image 518
Prateek Deshpande Avatar asked May 22 '11 04:05

Prateek Deshpande


2 Answers

Add column instead of inserting it to the GridView. It will automaticallyy append it to the end of column collection.

    grdPatientAppointment.Columns.Add(btnColumn);
like image 189
bugcracker Avatar answered Nov 10 '22 09:11

bugcracker


Use DisplayIndex property to change the order of the columns: http://msdn.microsoft.com/en-us/library/wkfe535h.aspx

like image 2
Alireza Maddah Avatar answered Nov 10 '22 09:11

Alireza Maddah