Solved

Making a column in DataGridView with ComboBox

Posted on 2009-04-02
4
380 Views
Last Modified: 2013-12-14
Hi currently I have a DataGridView table read from a Oracle database,One of the column is meant to take in only "1" or "0" as a value, so I was wondering if I can make the whole column into a combobox and read the current value as well as letting th user to change using the combobox.

Thanks in advance for any help offered.
localSQL = "SELECT KEYID,TAG,DESC,STATE,FROM PRODUCT1";

                    OracleCommand cmdOracle = new OracleCommand(localSQL, localConnection);

                    cmdOracle.CommandType = CommandType.Text;

                    OracleDataReader drOracle = cmdOracle.ExecuteReader();

                    DataTable ordt = new DataTable();

                    OracleDataAdapter orda = new OracleDataAdapter();

                    orda.SelectCommand = cmdOracle;

                    orda.Fill(ordt);

                    dataView1.DataSource = ordt.DefaultView;

                    dataView1.RowsDefaultCellStyle.BackColor = Color.White;

                    dataView1.Columns[3].Width = 150;

                    dataView1.AlternatingRowsDefaultCellStyle.BackColor = Color.LightBlue;

                    drOracle.Close();

Open in new window

0
Comment
Question by:csharp_learner
  • 3
4 Comments
 
LVL 7

Expert Comment

by:DanSo1
ID: 24076345
Hi
OK, try to do it that way:
right click on your datagridview, choose Edit columns...
in the list (left side) select your field
in properties for that field choose ColumnType and change it to "DataGridViewComboBoxColumn"
after that, you can choose property DisplayStyle : DropDownButton or ComboBox (there is a small difference - in combobox user can type, in DropDownButton user can only choose item).
Next things is to set properly those properties: DataSource, DisplayMember, ValueMember or/and Items.

I hope that it will help you.

Regards
   Danso
0
 

Author Comment

by:csharp_learner
ID: 24083473
Hi,Sorry for the late reply.
As my datagrid view is read from the database there is no items listed in the Edit Columns.
And when i tried to insert the items into the column the result is there will be 2 sets of datagridview side by side.
The left set is the one i assign to the datagridview using u're suggestion and hence there is a combobox,the 2nd set on the right is the current datagridview read from the database.
0
 
LVL 7

Expert Comment

by:DanSo1
ID: 24084688
Everything what we doing in VS environment is also possible to do from source code. The easiest way to figure out how to do it is to see file xxxx.Designer.cs where your VS created code.
If you still have problem with that I will prepare some example code how to add combo in runtime.

Regards
  Danso
0
 
LVL 7

Accepted Solution

by:
DanSo1 earned 450 total points
ID: 24085050
Hi
Try this code. It's adding a column with combo where user can choose 0 or 1.

Regards
  Danso
            System.Windows.Forms.DataGridViewComboBoxColumn MyColumnGridViewTextBoxColumn = new System.Windows.Forms.DataGridViewComboBoxColumn();

            this.dataGridView1.Columns.Add(MyColumnGridViewTextBoxColumn);
 

            MyColumnGridViewTextBoxColumn.DataPropertyName = "my_field_name";

            MyColumnGridViewTextBoxColumn.HeaderText = "This is header";

            MyColumnGridViewTextBoxColumn.Items.AddRange(new object[] {

            "0",

            "1"});

            MyColumnGridViewTextBoxColumn.Name = "MyColumnGridViewTextBoxColumn";

            MyColumnGridViewTextBoxColumn.Resizable = System.Windows.Forms.DataGridViewTriState.True;

            MyColumnGridViewTextBoxColumn.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;

Open in new window

0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Update (December 2011): Since this article was published, the things have changed for good for Android native developers. The Sequoyah Project (http://www.eclipse.org/sequoyah/) automates most of the tasks discussed in this article. You can even fin…
This article describes a simple method to resize a control at runtime.  It includes ready-to-use source code and a complete sample demonstration application.  We'll also talk about C# Extension Methods. Introduction In one of my applications…
This tutorial covers a step-by-step guide to install VisualVM launcher in eclipse.
The viewer will learn how to use and create keystrokes in Netbeans IDE 8.0 for Windows.

914 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

16 Experts available now in Live!

Get 1:1 Help Now