private void FormLug_Load(object sender, EventArgs e)
{
FieldListLug.Clear();//字段清除
DI = double.Parse(tbDn.Text);//DI等于tbdn中的值 把值强制转化成DOUBLE型
string TypeName = "Y_SUPPORT_LUG_4712_3_2007_TYPE";//定义查询表名
string where = string.Format("DnX < {0} and DnD > {0}", DI);//定义查询条件
//where = "DnX < " + DI.ToString() + " and DnD > " + DI.ToString();
FieldListLug.Add("TypeC");//要查询的列
tbType = GetAccessData(TypeName, FieldListLug, where);//获得查询出来的表
TypeList = tbType.AsEnumerable()
.Select(p => p.Field<string>("TypeC")).Distinct().ToList();//将表变成列
cbType.Items.AddRange(TypeList.ToArray());//变成列加入控件中
//cbType.SelectedIndex = 0;
}
private void tbDn_TextChanged(object sender, EventArgs e)
{
#region 解除事务
this.tbDn.HideSelectionChanged -= new System.EventHandler(this.tbDn_TextChanged);
this.cbType.SelectedIndexChanged -= new System.EventHandler(this.cbType_SelectedIndexChanged);
this.cbNum.SelectedIndexChanged -= new System.EventHandler(this.cbNum_SelectedIndexChanged);
#endregion
#region 增加事务
this.tbDn.HideSelectionChanged += new System.EventHandler(this.tbDn_TextChanged);
this.cbType.SelectedIndexChanged += new System.EventHandler(this.cbType_SelectedIndexChanged);
this.cbNum.SelectedIndexChanged += new System.EventHandler(this.cbNum_SelectedIndexChanged);
TopPlateList.Clear();
#endregion
} private void cbType_SelectedIndexChanged(object sender, EventArgs e)//CBTYPE里面数据变化时产生的操作
{
cbbHasCover.Enabled = true;//默认CHACKBOX初始时为可以改变
FieldListLug.Clear();//清除耳座字段列表
string TypeName = "Y_SUPPORT_LUG_4712_3_2007_TYPE";//定义查找表名的字符串
string where = string.Format("DnX < {0} and DnD > {0} and TypeC = '{1}'"
, DI, cbType.Text);//定义查找条件字符串
FieldListLug.Add("HasCover");//将需要的列的字段加入字段列 可以加入多个
tbTopPlate = GetAccessData(TypeName, FieldListLug,
where);//查询表 使用查询语句将表名 条件 字段列加入获得顶板表
TopPlateList = tbTopPlate.AsEnumerable()
.Select(p => p.Field<bool>("HasCover")).Distinct().ToList();//将获得的表变成列 p.Field<>中类型要保持一致,Distinct()将重复的去除
if (TopPlateList.Count == )//如果TopPlateList中只有一个数据 则始终不能改变
{
if (TopPlateList[])//获取列中第一个数据 因为是一个BOOL型的列 如果第一个数据是TURE则有盖板并且成立
{
cbbHasCover.Checked = true;//选择有盖板
cbbHasCover.Enabled = false;//并且不能改变
}
else//如果没有
{
cbbHasCover.Checked = false;//选择无盖板
cbbHasCover.Enabled = false;//也不能改变
}
}
}
private void cbbHasCover_CheckedChanged(object sender, EventArgs e)
{
FieldListLug.Clear();//继续清除字段
string TypeName = "Y_SUPPORT_LUG_4712_3_2007_TYPE";//定义查找表名的字符串
string where = string.Format("DnX < {0} and DnD > {0} and TypeC = '{1}' and HasCover = {2}",
DI, cbType.Text, cbbHasCover.Checked);//定义查找条件字符串
FieldListLug.Add("LugNumber");//将需要的列的字段加入字段列 可以加入多个
tbNum = GetAccessData
(TypeName, FieldListLug, where);//查询表 使用查询语句将表名 条件 字段列加入 获得顶板表
NumList = tbNum.AsEnumerable()
.Select(p => p.Field<int>
("LugNumber").ToString()).Distinct().ToList();//.ToString()将查询结果变成字符型,
//如果上面list定义成字符型就要转化成字符型 如果是int型与前面一致则不需要.前面int则是数据表中类型
cbNum.Items.AddRange(NumList.ToArray());//将数据列转化成数组然后加入cbnum中,只接受数组
}
private void cbNum_SelectedIndexChanged(object sender, EventArgs e)
{
FieldListLug.Clear();//继续清除字段
if (cbType.Text == A)//选择了A
{
// string killedString = "";
// killedString = "q1,q2,DnX,DnD";
string TypeName = "Y_SUPPORT_LUG_4712_3_2007_A";//查询表A
string where = string.Format("LugNumber = {0} ",
cbNum.Text);//定义查询条件
tbValue = GetAccessData(TypeName, null, where);//查出需要的表
}
else if (cbType.Text == B)//选择B
{
string TypeName = "Y_SUPPORT_LUG_4712_3_2007_B";
string where = string.Format("LugNumber = {0} ",
cbNum.Text);
tbValue = GetAccessData(TypeName, null, where);
}
else if (cbType.Text == C)//选择C
{
string TypeName = "Y_SUPPORT_LUG_4712_3_2007_C";
string where = string.Format("LugNumber = {0} ",
cbNum.Text);
tbValue = GetAccessData(TypeName, null, where);
} }

当From窗体中数据变化时,使用代码获取数据库中的数据然后加入combobox中并且从数据库中取得最后的结果的更多相关文章

  1. 计算属性 vs 侦听属性 当需要在数据变化时执行异步或开销较大的操作时,这个方式是最有用的

    https://cn.vuejs.org/v2/guide/computed.html#基础例子 计算属性 vs 侦听属性 Vue 提供了一种更通用的方式来观察和响应 Vue 实例上的数据变动:侦听属 ...

  2. 在C#中使用正则表达式自动匹配并获取所需要的数据

    转自:http://my.oschina.net/bv10000/blog/111736 正则表达式能根据设置匹配各种数据(比如:e-mail地址,电话号码,身份中号码等等).正则表达式功能强大,使用 ...

  3. resful规范: 进行数据交换时的代码潜规则

    目前主流的三种web服务交互方案: REST (Representational State Transfer) 表征性状态转移 SOAP (Simple Object Access Protocol ...

  4. flink-----实时项目---day06-------1. 获取窗口迟到的数据 2.双流join(inner join和left join(有点小问题)) 3 订单Join案例(订单数据接入到kafka,订单数据的join实现,订单数据和迟到数据join的实现)

    1. 获取窗口迟到的数据 主要流程就是给迟到的数据打上标签,然后使用相应窗口流的实例调用sideOutputLateData(lateDataTag),从而获得窗口迟到的数据,进而进行相关的计算,具体 ...

  5. saltstack在jianja模板中,执行salt函数来获取某些变量的值,并且将配置写入到配置文件中?

    问题描述: 通过saltstack的jinja模板方式,可以将变量的值写入到配置文件,即动态获取的方式.这里介绍,通过执行salt函数来获取值的方式. 演示: 1.通过在sls中,增加jinja的模板 ...

  6. 如何在组件中监听vuex数据变化(当vuex中state变化时,子组件需要进行更新,怎么做?)

    todo https://blog.csdn.net/qq_37899792/article/details/97640434

  7. 学会python可以上天!20行代码获取斗鱼平台房间数据,就是这么牛逼!

    Python(发音:英[?pa?θ?n],美[?pa?θɑ:n]),是一种面向对象.直译式电脑编程语言,也是一种功能强大的通用型语言,已经具有近二十年的发展历史,成熟且稳定.它包含了一组完善而且容易理 ...

  8. vue子组件数据变化同步到父组件中

    方法:通过watch监听子组件数据变化 1.父组件中注册方法 <Child @getChildValue="getChildValue"></Child> ...

  9. Vue中使用computed与watch结合实现数据变化监听

    目的:当数据变化时,为其中重要数据增加边框,实现闪烁以达到提醒目的.数据格式如下,只有在未处理火警/故障时增加闪烁边框.可以使用watch进行深度监听.数据格式已定,也非常明确要监听的数据是有两个.既 ...

随机推荐

  1. appium desktop

    Appium-desktop 下载地址:https://github.com/appium/appium-desktop/releases 一般功能 这些能力跨越多个驱动因素. 仅限Android 这 ...

  2. php开启短标签

    修改PHP.INI ;be sure not to use short tags short_open_tag = Off  

  3. js_html_input中autocomplete="off"在chrom中失效的解决办法 使用JS模拟锚点跳转 js如何获取url参数 C#模拟httpwebrequest请求_向服务器模拟cookie发送 实习期学到的技术(一) LinqPad的变量比较功能 ASP.NET EF 使用LinqPad 快速学习Linq

    js_html_input中autocomplete="off"在chrom中失效的解决办法 分享网上的2种办法: 1-可以在不需要默认填写的input框中设置 autocompl ...

  4. firebug的应用

    firebug再前端调试中起到了非常好的作用能看到DOM的性能,以及检測.比方运用console.log()就是要比alert():好一些这样增强的页面的连续性而且console.warn()和con ...

  5. ZOJ 1806 (小数高精度)

    题意:八进制小数转化成十进制的小数. 0.d1d2d3 ... dk [8] = 0.D1D2D3 ... Dm [10] 例: 0.75 [8] = 7*8^-1+5*8^-2 = ( 5/8 + ...

  6. The method getJspApplicationContext(ServletContext) is undefined for the type JspFactory的解决方法

    An error occurred at line: [31] in the generated java file: [/data/tmisnt/work/Catalina/localhost/_/ ...

  7. 安装Node.js 以及命令行使用

    安装 官方的安装包 安装完成之后,会自动添加到环境变量中 通过visual studio安装 命令行 查看版本 PS C:\Users\clu\Desktop> node --version v ...

  8. 【USACO 2017Feb】 Why Did the Cow Cross the Road

    [题目链接] 点击打开链接 [算法] dist[i][j][k]表示当前走到(i,j),走的步数除以3的余数为k的最小花费 spfa即可 [代码] #include<bits/stdc++.h& ...

  9. 洛谷 P2296 寻找道路 —— bfs

    题目:https://www.luogu.org/problemnew/show/P2296 第一次用 Emacs 对拍,写了半天: 注意那个 is 赋值的地方很容易错,千万别反复赋值: 一道水题写了 ...

  10. 移动端html touch事件

    诸如智能手机和平板电脑一类的移动设备通常会有一(capacitive touch-sensitivescreen),以捕捉用户的手指所做的交互.随着移动网络的发展,其能够支持越来越复杂的应用,web开 ...