Hi anbaesivam,
Thank you for using Microsoft Managed Newsgroup Service, my name is Zhi-Xin
Ye, it's my pleasure to work with you on this issue.
As I understand, you want to change the DataGridView column type
dynamically. The
DataGridViewTextBoxColumn/DataGridViewComboBoxColumn/DataGridViewCheckBoxCol
umn/etc. are all derived from the DataGridViewColumn class, they're of the
same level and cannot cast to each other. However, for the specified
scenario you described, i.e. change the column type from
DataGridViewTextBoxColumn to DataGridViewComboBoxColumn and vice versa,
there's a small trick, you can use a DataGridViewComboBoxColumn and change
its DisplayStyle property value between
DataGridViewComboBoxDisplayStyle.Nothing and
DataGridViewComboBoxDisplayStyle.DropDownButton. For example:
private void button1_Click(object sender, EventArgs e)
{
DataGridViewComboBoxColumn c =
(DataGridViewComboBoxColumn)this.dataGridView1.Columns[0];
//Make the column displayed as ComboBox column.
c.DisplayStyle =
DataGridViewComboBoxDisplayStyle.DropDownButton;
}
private void Form1_Load(object sender, EventArgs e)
{
//....other code here...
DataGridViewComboBoxColumn c = new DataGridViewComboBoxColumn();
c.DataPropertyName = "c1";
c.DataSource = dt;
c.DisplayMember = "c2";
c.ValueMember = "c1";
//Make the column displayed as textbox column.
c.DisplayStyle = DataGridViewComboBoxDisplayStyle.Nothing;
this.dataGridView1.Columns.Add(c);
}
For other kinds of column types, you can try Philipp's suggestion to make
different type columns bound to the same filed, and show/hide them based on
your needs.
If anything is unclear or you have any concerns, please feel free to let me
know, I will be happy of assistance. Have a good day!
Best Regards,
Zhi-Xin Ye
Microsoft Managed Newsgroup Support Team
Delighting our customers is our #1 priority. We welcome your comments and
suggestions about how we can improve the support we provide to you. Please
feel free to let my manager know what you think of the level of service
provided. You can send feedback directly to my manager at:
(e-mail address removed).
==================================================
Get notification to my posts through email? Please refer to
http://msdn.microsoft.com/en-us/subscriptions/aa948868.aspx#notifications.
Note: MSDN Managed Newsgroup support offering is for non-urgent issues
where an initial response from the community or a Microsoft Support
Engineer within 2 business day is acceptable. Please note that each follow
up response may take approximately 2 business days as the support
professional working with you may need further investigation to reach the
most efficient resolution. The offering is not appropriate for situations
that require urgent, real-time or phone-based interactions. Issues of this
nature are best handled working with a dedicated Microsoft Support Engineer
by contacting Microsoft Customer Support Services (CSS) at
http://msdn.microsoft.com/en-us/subscriptions/aa948874.aspx
==================================================
This posting is provided "AS IS" with no warranties, and confers no rights.