C#实现numericUpDown与datagridView的选中项同步

numericUpDown值是题号

datagridView中有一列是题号
希望实现的效果:numericUpDown的ValueChanged,触发datagridView的选中行改变
并且datagridView的选中行改变,触发numericUpDown的ValueChanged
即通过任意一项者能改变另一项。代码如下

private void numeric_Ti_Hao_ValueChanged(object sender, EventArgs e)
  {
   Ti_Hao = Convert.ToInt32(numeric_Ti_Hao.Value);//获取numericUpDown的值,赋予 Ti_Hao
   change_dataGridView_selected(true);//调用下面那个函数
  }
 private void change_dataGridView_selected(bool isShowtip)
     {
    if (Convert.ToInt32(dataGridView1.CurrentRow.Cells["题号"].Value) != Ti_Hao)
//如果dataGridView1中当前选中行的题号列的值 != Ti_Hao
    {
     int ergodic;//dataGridView的rowindex
    dataGridView1.ClearSelection();//
    for (ergodic = 0; ergodic <= dataGridView1.RowCount - 1; ergodic++)
      if (Convert.ToInt32(dataGridView1.Rows[ergodic].Cells["题号"].Value) == Ti_Hao)
      {
              dataGridView1.Rows[ergodic].Selected = true;//循环各行,找到Ti_Hao那行,选中
             }
         }
    else
    {
     dataGridView1.ClearSelection();//
     dataGridView1.Rows[Ti_Hao - 1].Selected = true;//
    }
   }
  private void dataGridView1_SelectionChanged(object sender, EventArgs e)//datagridview1的选中项改变后
  {
      Ti_Hao = Convert.ToInt32(dataGridView1.CurrentRow.Cells["题号"].Value);
    if (numeric_Ti_Hao.Value != Ti_Hao)
    {
     numeric_Ti_Hao.Value = Ti_Hao;
    }//如果上下调数框的值不等于题号,将调数框值改为题号

  }

现在的问题是两个change事件循环触发了 dataGridView1_SelectionChanged可以改变numericUpDown,但numericUpDown 的valueChanged触发 dataGridView1_SelectionChanged然后又触发了numericUpDown 的valueChanged

1个回答

 bool callbynumericUpDown = false;
private void dataGridView1_SelectionChanged(object sender, EventArgs e)//datagridview1的选中项改变后
  {
    if (callbynumericUpDown) return; //加上
      Ti_Hao = Convert.ToInt32(dataGridView1.CurrentRow.Cells["题号"].Value);
    if (numeric_Ti_Hao.Value != Ti_Hao)
    {
     numeric_Ti_Hao.Value = Ti_Hao;
    }//如果上下调数框的值不等于题号,将调数框值改为题号

  }



    if (Convert.ToInt32(dataGridView1.Rows[ergodic].Cells["题号"].Value) == Ti_Hao)
      {
             callbynumericUpDown = true; //加上
              dataGridView1.Rows[ergodic].Selected = true;//循环各行,找到Ti_Hao那行,选中
                             callbynumericUpDown = false; //加上
             }
         }
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
c#winfrom datagridview 选中项
怎么把 dataGridView 选中项 设置为索引的值呢、rn就是说,dataGridView 的默认项是第一列第一行,然后我想让他默认为第一列第2行。。rn[img=https://img-bbs.csdn.net/upload/201406/25/1403661860_810714.jpg][/img]rn就是重新绑定数据的时候,那个三角形箭头 是跳到2,而不是1rn求简单的代码、 新手T-Trnrn
C# DataGridView 选中整列 删除
各位:rn C# Winform 开发,datagridview 怎样选中一整列 ,然后删除!在线等....
Form_Load 获取 DataGridView 选中项的数据
private void Form_Load(object sender, EventArgs e)rn rn AddDgvData(dgvShow); rn rn rn// 加载 以及 数据绑定 rn public void AddDgvData(DataGridView d)rn rn // 绑定一个数据rn d.DataSource = BLL.Books.PagingBooksSumInfo(m);rn if (d.Rows.Count>0 )rn rn d.Rows[0].Selected = true;rn dgvShow_CellClick(null, null); rn rn rn private void dgvShow_CellClick(object sender, DataGridViewCellEventArgs e)rn rn //如果不为空就Show得到的数据rn if (dgvShow.SelectedRows!=null)rn rn tryrn rn MessageBox.Show(dgvShow.Rows[0].Cells[0].Value + " ");rn MessageBox.Show(dgvShow.CurrentRow.Cells[0].Value);rn MessageBox.Show(dgvShow.SelectedRows[0].Cells[0].Value+" ");rn rn catchrn rn MessageBox.Show("加载失败 请点击有效数据 ");rnrn rn rn rn rn rnrn可是在Form_Load 设断点查看的时候 dgvShow.count 都是大于零的 可是 当跳进 if (dgvShow.SelectedRows!=null)rn它会在 MessageBox.Show(dgvShow.Rows[0].Cells[0].Value + " "); 报错 它说 数据为NULL 进入到 catch 部分rn可是 我已经两次判断了是否为空啊 [d.Rows.Count>0 和 if (dgvShow.SelectedRows!=null) ] rn为什么还是会提示为NULL 而且它的count显示大于0 rn不解 想知道如何解决
同步列表选中项及EditText监听
通过点击选择列表项,同步显示选中的小头像在顶部水平滚动控件中。类似这样的效果 主布局: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_wi
DataGridView这么实现右键选中?
rnDataGridView默认的是要左键点击才会该行高亮rn我想实现右键点击任何一个地方,该行高亮rn我知道TreeView里面有GetNodeAt(Point)的函数,DataGridView中怎么实现,请教
numericUpdown?
有谁用过这个控件的请给我解下疑问,没有用过的,我们一起学习哈,,给我顶哦。。rnrnrn我是在winform用的,遇到一个问题。。这个空间的默认值我给他设为0.00,但是当我数据79.36的时候他显示的是79.360.00,而我想要的结果是79.36,不知道各位知道怎么实现这个功能,请帮忙哈,在线等,,小弟我先谢咯。
numericUpDown
numericUpDown 这个控件怎样可以设成这样的时间选择方式 [b] 00:00 选择增加是01:00 02:00 ...一直到23:00 rnrn超过23:00 后显示00:00[/b] 递减也是这个道理
NumericUpDown
NumericUpDown应用的小程序,对一些小的控件的开发,通过小程序开发大的程序
怎样在datagridview中加入NumericUpDown控件列
怎样在datagridview中加入NumericUpDown控件列呢??急!!
C# dataGridView如何删除选中的一行?
请注意:rnrn一个WINFORM,添加一个dataGridView,一个删除按钮rnrn运行后,手动dataGridView添加三行数据rnrn现在想选中某一行,然后点删除,则该行不再dataGridView中显示了rnrn下面的代码出错,不知哪问题,但绑定 dataGridView1.DataSource = dt 后,就可以正常删除,rn现在就是想不绑定删除选定行rnDataRowView drv = dataGridView1.SelectedRows[0].DataBoundItem as DataRowView;rn drv.Delete();
C#删除datagridview中选中的多行
private void button3_Click(object sender, EventArgs e) { int k = dataGridView1.SelectedRows.Count; if (MessageBox.Show("您确认要删除这" + Convert.ToString(k)...
c# 如何用右键选中dataGridView的单元格
想在WINFORM的dataGridView里面用使用右键达到和左键一样的选中功能,新手求助!
c# datagridview 右击选中单元格问题
private void dataGridView3_CellMouseDown(object sender, DataGridViewCellMouseEventArgs e)rn rn if (e.RowIndex >= 0)rn rn if (e.Button == System.Windows.Forms.MouseButtons.Right)rn rn dataGridView3.Rows[e.RowIndex].Cells[e.ColumnIndex].Selected = true;rnrn rn rnrn rn本人使用上面代码,发现虽然右击能选中单元格,但光标还是定位在已经选中的单元格中,问如何才能右击单元格达到左击单元格的效果,多次右击datagridview单元格还是只定位一个唯一的单元格中.
问个C# DataGridView的,怎样选中CheckBox
[code=C#]rn private void dgvTopMenu_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)rn rn if (e.ColumnIndex == dgvTopMenu.Columns["IsCheckedCol"].Index)rn rn string UserGroupID = Convert.ToString(rn dgvTopMenu.Rows[e.RowIndex].Cells["UserGroupIDCol"].Value);rn if (!string.IsNullOrEmpty(UserGroupID))rn rn DataGridViewCheckBoxColumn o = dgvTopMenu.Rows[e.RowIndex].Cells["IsCheckedCol"] as DataGridViewCheckBoxColumn;rn//怎么没有Checked属性rn rn rn rn[/code]
c# datagridview 用代码选中的checkbox
我的代码是这样的:[img=https://img-bbs.csdn.net/upload/201407/14/1405317877_90418.jpg][/img]rnrn然后我又加了一列[code=csharp] DataGridViewCheckBoxColumn dc = new DataGridViewCheckBoxColumn();rn dc.Name = "是否集中支付";rn this.dataGridView1.Columns.Add(dc);rn [/code]rnrn我出现了一列未选中的checkbox然后我想实现的功能是,判断一些条件然后选中某个checkbox,请问怎么选中比如第三行的checkbox?
C# winform datagridview 选中行前要判断
1.环境:vs2008 ,c#,winformrn2.描述:我选中datagridview的一行,然后我要选择另外一行,在选择另外一行之前我要满足一定的条件,否则就不能选择另外一行。rn3.datagridview有没有什么事件类似 beforeselected、selecting的?rn4.如果没有这些事件有没有什么好办法呢?rn5.我自己知道一个笨的办法就是,先保存当前行号。。如果不满足条件选了其他行,再返回前面保存的那行。这个方法应该是可以的。。不知道有没有高手有比较高级的方法啊?rn6.先谢谢大家哈
紧急求助 datagridview选中单行问题 C#
各位大侠们,rn我现在遇到个问题。rn就是,我要求datagridview只能一行一行的选,不能多行多行的选rn所以我在datagridview的multiselect属性设置的false,selectionmode属性设置的fullrowselect.rnrn我运行后发现多行确实是不能选了,但是选中不了一行,他只能一个单元格一个单元格的选rnrn请教各位大侠们,我应该怎么改才可以实现一行一行的选,不能多行选呢????rnrn在此先谢谢了。
c# datagridview同步修改更新问题
c# datagridview是从串口获取数据存入数据库同步更新的rn如果要在接收过程中在datagridview中修改数据动态保存到数据库中要怎么操作啊rnupdate的时候只更新当前表格的现有的数据有时候会丢数据
在c#中实现在Datagridview中选中每行的checkbox实现批量删除
如题,请给出源码,谢谢
C#如何实现DataGridView到DataGridView的拖拽
需要将一个DataGridView中的某一行全部数据拖拽到另一个DataGridView中,并根据ID自动排列,而且同时把数据添加到数据库里、?rn要怎么实现,新手求救、?
C#服务项实现
能实现管理系统的服务项,查看系统服务,能使服务项停止,启动等
c#防止下拉框无选中项
c#防止下拉框dropdownlist无选中项
C#获取ListView中多个选中项
本案例是自定义了选择打开一个以文件夹形式存储的文件群(如gdb)对话框,通过listview的mouseup事件(试过其他多个事件和属性,效果不尽如人意),利用.SelectedItems属性来实现获取listview的多个选中项,实现代码如下: private void lsvFolderOrFile_MouseUp(object sender, MouseEventArgs e) { ...
C# listView 如何删除已选中的项?
最近我在做一个Windows应用程序,在用到listView 控件时不知该怎样删除其中选中的项。rnlistView 我设置成“详细信息”视图的,rn并把它的FullRowSelect属性及HoverSelection设为true,rn现在就想实现:当鼠标移到某项上时,单击右键,在弹出的快捷菜单中选择某个命令,然后执行删除该项的操作。rnrn这问题弄了好久不知其解,请高手点指点指。
C#高亮显示TreeView控件中的选中项
问题描述   给自己单位开发的应用程序,里面有个功能是使用C#中的GDI+功能开发的在固定区域显示指定内容。   最初实现起来很简单,因为显示内容的区域大小是固定的,要显示的内容的字体和字号也是固定的,直接使用Graphics类中的DrawString方法就可以搞定。效果如下图所示:   用户使用这个模块已经有一段时间了。最近突然提出来在这个区域中显示的内容要加长,这样的话再使用固定的字...
C# winform combobox设置选中项
修改数据时在窗体加载时如何设置已选中的项啊rn我的combobox每一项有text和value值rn这两个应该怎么设置啊rn我现在写的是this.comboBox1.SelectedText = “值”;rnvalue怎么写呢rn现在修改时不选择combobox提交就会出错rn请各位指教谢谢
C# winform combobox默认选中项方法
Combobox.SelectedIndex = Combobox.Items.IndexOf(“默认选中文本”);
C# ListView中获得选中项的内容
rnrnrnC# ListView中获得选中项的内容rnrnlvSafeRule.SelectedItems[0].SubItems[2].Text.ToString()rnrn出现错误rn[img=lvSafeRule.SelectedItems[0].SubItems[2].Text.ToString()][/img]rnrn同样的语句在另一个控件中就没问题。怎么回事呢??
NumericUpDown实现数值微调.rar
NumericUpDown实现数值微调.rar
实现DataGridView某一个Cell选中效果
点击DataGridView某一个Cell如果点击前没有选中点击后则选中,如果点击前选中了点击后则不选中,这种效果如何作出来?rnprivate void dataGridView1_CellMouseDown(object sender, DataGridViewCellMouseEventArgs e)rn this.dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Selected = !this.dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Selected;rn rn上面代码实现不了如果点击前选中了点击后则不选中这种效果,请各位帮忙!!
datagridview同步更新数据库如何实现?
[code=C#]string sql2 = "select * from b1";rn string strConnection = "Provider=Microsoft.Jet.OleDb.4.0;Data Source="rn + Application.StartupPathrn + "\\db1.MDB";rn OleDbConnection conn = new OleDbConnection(strConnection);rn rn OleDbDataAdapter adp = new OleDbDataAdapter(sql2,conn);rn OleDbCommandBuilder ocb = new OleDbCommandBuilder(adp);rn DataTable dt = new DataTable();rn //DataSet ds = new DataSet();rn BindingSource bs = new BindingSource();rn conn.Open();rn adp.Fill(dt);rn this.dataGridView1.DataSource = dt;rn bs.DataSource = dt;rn conn.Close();rn adp.Update((DataTable)bs.DataSource);[/code]rn以上是网上抄的我修改了一下 但是无法实现,请朋友们帮忙看看那里不对谢谢了!
两个datagridview 同时选中
我的窗体上有两个dgv 当我选中 其中一个dgv的某一行时候,在去选第二个dgv的某一行,如何才能移除第一个dgv选中行的光标,让他停留在我当前选中dgv的行
DataGridview 单元格选中情况
鼠标选中单元格 选中 后,然后背景色为深蓝色,请问如何点击某个单元格后,不出现背景色rn [img=C:\Documents and Settings\Administrator\桌面\1.bmp][/img]rn
怎样实现datagridview数据库同步跟新
我在winform里面建立了一个DataGridView1并将数据库set.mdb中的set表绑定了rn在运行时候DataGridView出现了我表里面的数据,问题出现了rnrn我修改了DataGridView1(运行时)上面显示的数据,怎么我数据里面的值没变化呢?rnrnrn是不是要要做别的时期,对这个不熟悉,指点下,谢谢
dataGridView的一个选中问题。
主要代码如下[code=C#]private void Form1_Load(object sender, EventArgs e)rn rn // TODO: 这行代码将数据加载到表“adoDataSet.adotest”中。您可以根据需要移动或移除它。rn this.adotestTableAdapter.Fill(this.adoDataSet.adotest);rnrn rnrn private void dataGridView1_DataBindingComplete(object sender, DataGridViewBindingCompleteEventArgs e)rn rn dataGridView1.Rows[dataGridView1.CurrentCell.RowIndex].Selected = true;rn [/code]rnrn编译的时候没错 ,运行的时候提示错误rnrnrn未将对象引用设置到对象的实例。rnrn我只是想在数据绑定完成以后,直接将选择一个行,这样不行?
dataset模糊搜索选中datagridview
用dataset绑定了dgv,要模糊搜索rnDataRow[] _RowList = dataset.Tables[0].Select("name like '%ES%'"); rn然后要选中dgv相应的单元格,怎么弄?不知道_rowlist在dataset中的坐标啊
datagridview如何选中一行
简单问题:datagridview如何高亮选中一行?
DataGridView选中某一行
我的DataGirdView有一列为ID,我想选中ID列中值为"XXX"的一列,该如何做?
datagridview 如何选中列
我可以获得选中单元格的值,但用SelectedColumns获取列时无法获取,经调试,列的集合一直都是0
datagridview复制选中的记录
datagridview已经加载到数据源,为何我选定一些记录按ctrl+c复制到EXECL里(ctrl+v)时就乱码,有人遇到我这样的问题吗?是不是得设datagridview的编码啊,请高人指点
相关热词 c# login 居中 c# 考试软件 c# 自然语言分析 c# 分段读取文件 c# 泛型反射 c#打断点 c# 时间转多少秒 c# 线程函数加参数 c# modbus 读取 c#查询集合表