Solved

Making a column in DataGridView with ComboBox

Posted on 2009-04-02
4
382 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

Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Question has a verified solution.

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

It was really hard time for me to get the understanding of Delegates in C#. I went through many websites and articles but I found them very clumsy. After going through those sites, I noted down the points in a easy way so here I am sharing that undeā€¦
The article shows the basic steps of integrating an HTML theme template into an ASP.NET MVC project
The viewer will learn how to use and create keystrokes in Netbeans IDE 8.0 for Windows.
The viewer will learn how to use and create new code templates in NetBeans IDE 8.0 for Windows.

679 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