Chinaunix首页 | 论坛 | 博客
  • 博客访问: 666617
  • 博文数量: 79
  • 博客积分: 2608
  • 博客等级: 少校
  • 技术积分: 889
  • 用 户 组: 普通用户
  • 注册时间: 2008-03-19 23:57
个人简介

一家之计在于和,一生之计在于勤。

文章分类

全部博文(79)

文章存档

2022年(2)

2019年(1)

2017年(1)

2015年(2)

2014年(2)

2013年(2)

2012年(2)

2011年(6)

2010年(20)

2009年(13)

2008年(28)

分类:

2008-04-07 18:52:52

将在datagridview中的两个comboBox中数据相关联

 昨晚加班写到1点多,终于把这个做对了,特在此写下:

     为了将在datagridview中的两个comboBox中数据相关联,即当单击其中的一个comboBox的时候,就会自动的去根据另一个comboBox来取得对应的值。(DataGridViewTreeViewColumn.cs  中的InitializeEditingControl()方法)

dataview 设置 ROWFILTER 后通过 DATAVIEW.COUNT 能获得符合FILTER 的记录数,但如何遍历这些符合条件的记录呢?答案是:直接用foreach

DataView dvTree = new DataView(myDataSet.Tables[0]);
dvTree.RowFilter = "[PARENT] = " + iParent;
foreach(DataRowView Row in dvTree)
{
}

比如:

/*add by xcx:2008-03-17
* 先取得该员工的职称系列,然后又用“职称系列”去查职称系列对应的“职称系列的sn”
* 最后才用这个sn去“like sn*%”
*/
if (column.Name == "engaged_title" || column.Name == "technic_title")//编辑的列为职称名称
{

     string number = DataGridView.CurrentRow.Cells["employee_number"].Value.ToString();//获得当前行的员工编号                
      DataRow[] dr = staticCommonClass.pesonnelDataset.t_employee_technical_title.Select("employee_number = '" + number + "'");//获得当前行的员工在“专业技术职称子表”中行数据
      if (dr.Length > 0)
      {
            string ts = dr[0]["title_series"].ToString();//取得该员工的职称系列
            DataRow[] drow = staticCommonClass.sysDataSet.t_title_series_values.Select("value = '" + ts + "'");//取得该员工的职称系列数据字典中对应的行数据
            if (drow.Length > 0)
            {
                 sn = drow[0]["sn"].ToString();//取得该员工的职称系列数据字典中对应的序号sn
            }                   

      }                
                
     DataView dv = new DataView(staticCommonClass.sysDataSet.Tables[column.Tag.ToString()]);//(staticCommonClass.sysDataSet.t_special_title_values.)
    dv.RowFilter = "";   //清除上次过滤得到的值
    dv.RowFilter = "sn like '" + sn + "*'";//过滤得到与职称系列对应的技术职称的值

    /*  dataview 设置 ROWFILTER 后通过 DATAVIEW.COUNT 能获得符合FILTER 的记录数,
     * 但如何遍历这些符合条件的记录呢?答案是:直接用foreach
     */
    foreach (DataRowView row in dv)
    {
          TreeNode root = new TreeNode(row[2].ToString());
          root.Tag = row[2].ToString();
          ctl.TreeView.Nodes.Add(root);
    }                

}

阅读(1674) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~