首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

winform下面datagridview的下拉菜单加载有关问题

2012-04-08 
winform下面datagridview的下拉菜单加载问题。有一个datagridview,里面只有2列,都是下菜单。而且根据第一列

winform下面datagridview的下拉菜单加载问题。
有一个datagridview,里面只有2列,都是下菜单。而且根据第一列下拉菜单选项加载第二列的下拉菜单,现在问题如何获得第二列的这个下拉控件。
谢谢

[解决办法]
你把第二列加个RowCommand,比如RowCommand = "GetCommand"
然后在GridView_RowCommand事件中这样获取第二列的下拉控件:
GridView.Rows[Int32.Parse(e.CommandArgument.ToString())].Cells[1];
[解决办法]
可以在dataGridView 的EditingControlShwoing事件中写

C# code
private void dataGridView1_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)        {            if (sender != null)            {                if(((DataGridView)sender).SelectedCells[0].ColumnIndex==0) //编辑的是第0列                {                 //设置第一列的数据源                 //((ComboBox)e.Control).DataSource = ds.Tables[0];                    //((ComboBox)e.Control).DisplayMember = "Display";                    //((ComboBox)e.Control).ValueMember = "Value";                    ////当DataGridView中的ComboBox值变化时,生成如下事件                   ((ComboBox)e.Control).SelectedIndexChanged += new EventHandler(DataGridViewCombox_SelectedIndexChanged);                }                                 }        }/// <summary>        /// ////当DataGridView中的ComboBox值变化时触发如下事件        /// </summary>        /// <param name="sender"></param>        /// <param name="e"></param>        private void DataGridViewCombox_SelectedIndexChanged(object sender, EventArgs e)        {            if (sender != null&&dataGridView1.SelectedCells[0].ColumnIndex==0)//确定发生值变化的是第0列。可根据实际情况调整。            {                                                int rowIndex =dataGridView1.SelectedCells[0].RowIndex;                //获取第rowIndex行,第1列的Cell                DataGridViewComboBoxCell dgvcbc=(DataGridViewComboBoxCell) dataGridView1.Rows[rowIndex].Cells[1];                                dgvcbc.Items.Clear();//清空DataGridViewComboxCell                ///////////////////往里填充新的数值。                for (int i = 0; i < 10; i++)                {                    dgvcbc.Items.Add(((ComboBox)sender).SelectedItem.ToString() + i.ToString());                }                            }        } 

热点排行