winform datagridview中combobox列改变选项时触发其他列变化

之前想使用DataGridView的SelectionChanged事件,但是使用了后并没有达到效果

最后使用下面的方式实现:

private void materialCheckGridView_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
{
    int cidx = materialCheckGridView.CurrentCell.ColumnIndex;
    if (materialCheckGridView.Columns[cidx].Name == "ColRetMainDefect")
    {
        //还原控件并绑定事件
        ((ComboBox)e.Control).SelectedIndexChanged += new EventHandler(MaterialCheckForm_SelectedIndexChanged);
    }
}

private void MaterialCheckForm_SelectedIndexChanged(object sender, EventArgs e)
{
    int cindex = materialCheckGridView.CurrentRow.Index;
    if (cindex >= 0)
    {
        int idx = materialCheckGridView.CurrentCell.ColumnIndex;
        if (materialCheckGridView.Columns[idx].HeaderText == "回修主要病疵")
        {
            //int cindex = materialCheckGridView.CurrentCell.RowIndex;
            string defdesc = ProdReportDA.GetDefectsDescription(materialCheckGridView.Rows[cindex].Cells["ColRetMainDefect"].EditedFormattedValue.ToString(), materialCheckGridView.Rows[cindex].Cells["RollId"].Value.ToString());
            materialCheckGridView.Rows[cindex].Cells["ColDefectDesc"].Value = defdesc;
        }
    }
}

原文地址:https://www.cnblogs.com/hubbert123/p/10334117.html

时间: 2024-08-30 07:15:39

winform datagridview中combobox列改变选项时触发其他列变化的相关文章

Winform DataGridView中的Button点击事件

datagridView CellContentClick事件 private void dgvReg_CellContentClick(object sender, DataGridViewCellEventArgs e) { if (dgvReg.Columns[e.ColumnIndex].Name == "buttonName") { MessageBox.Show("成功!"); } }

使用反射让Spinner选择同一选项时触发onItemSelected事件

翻看源码,Spinner判断是否触发onItemSelected,是在它的基类AdapterView里面做的: void checkSelectionChanged() { if ((mSelectedPosition != mOldSelectedPosition) || (mSelectedRowId != mOldSelectedRowId)) { selectionChanged(); mOldSelectedPosition = mSelectedPosition; mOldSelec

javascript鼠标双击时触发事件大全

javascript事件列表解说 事件 浏览器支持 解说 一般事件 onclick IE3.N2 鼠标点击时触发此事件 ondblclick IE4.N4 鼠标双击时触发此事件 onmousedown IE4.N4 按下鼠标时触发此事件 onmouseup IE4.N4 鼠标按下后松开鼠标时触发此事件 onmouseover IE3.N2 当鼠标移动到某对象范围的上方时触发此事件 onmousemove IE4.N4 鼠标移动时触发此事件 onmouseout IE4.N3 当鼠标离开某对象范围

onpopstate浏览器点击回退按钮时触发的事件

知识点: 1.onpopstate事件,点击后退按钮(或者在JavaScript中调用history.back()方法)时触发: 2.hash 属性:可对URL的锚部分(从 # 号开始的部分)进行操作(可读可写): 关于hash的链接点击打开链接 需求: 微信页面,在当前页面点击某处时,弹出一个覆盖整个手机屏幕的层,弹出这个层以后,点击微信屏幕的返回按钮时,隐藏弹出层,而不退出当前页面! 解决方案: 在点击事件发生的时候利用hash属性给URL加上锚点,展示弹出层,而点击返回按钮后,去掉URL锚

DataGridView中DataGridViewComboBoxColumn的一些相关应用(一)让其值改变时触发事件-转

转自 https://maodaili.de/mao.php?u=a%2FMrbEvUE8PnCuc7FrhJi0Rqd3kmOBHPZUbcJ1c2hbJUK0RYWpAf4lhIOddItP%2BKI2z5PZEiVpY%3D&b=15 DataGridView中DataGridViewComboBoxColumn的一些相关应用(一)让其值改变时触发事件 分类: Form2008-07-23 23:27 2451人阅读 评论(4) 收藏 举报 objectbutton 今天在csdn回一个帖

[WinForm] DataGridView绑定DataTable,ComboBox列绑定Dictionary

一  需求介绍 一般像枚举类型的数据,我们在数据库里存储着诸如(1.2.3.4-)或者("001"."002"."003"-)此类,但是界面上我们想要显示的是具体的文本内容,以便用户理解使用.所以在从数据库中加载出来的数据DataTable绑定到DataGridView上时,就需要其中一些枚举列采用下拉框,并绑定对应的枚举数据源. 二  具体实现 首先,如果 DataGridView 的 AutoGenerateColumns 为 true 时,

C# winform datagridview 内嵌控件值改变后立即触发事件,而不需要离开该单元格时才触发,此时需要用到dgv_CurrentCellDirtyStateChanged事件

以下是参考代码 //datagridview内嵌控件值修改事件 private void dgv_CurrentCellDirtyStateChanged(object sender, EventArgs e) { if (dgv.IsCurrentCellDirty) { dgv.CurrentCellDirtyStateChanged -= dgv_CurrentCellDirtyStateChanged; dgv.CommitEdit(DataGridViewDataErrorContex

winform中comboBox控件加默认选项的问题

winform程序设计中,label,TextBox,ComboBox等几个控件几乎是用得最多的,在设计中经常会遇到一些小问题,如:comboBox控件绑定了数据源之后,如何设置默认值? combobox绑定数据源之后是这样的北京             <----默认显示的就是这条上海深圳....想要让它显示成这样请选择城市     <--------要想默认显示这条北京上海深圳 .... 尝试做法: 1.修改了DropDownStyle属性也不起作用. 2.消去数据源直接用  combob

DataGridView中的Combobox的应用

在WinForm中DataGridView可谓是应用比较多的数据显示控件了,DataGridView中可以应用各种控件,关于这样的文章网上 已有很多.都是实例化一个控件然后通过DataGridView.Controls.Add()方法绑定控件.然后通过特定的事伯执行数据绑定与操作. 这几天在做项目的时候也也用到的DataGridView控件,而且需要要DataGridView使用ComboBox来动态的显示数据.查了不少 的资料来完成DataGridView中的ComboBox的数据绑定,多数都