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. B. Error Correct System (CF Round #296 (Div. 2))

    B. Error Correct System time limit per test 2 seconds memory limit per test 256 megabytes input stan ...

  2. Objective-C语言的 if ( self = [super init] )

    我们先假设如今自己创建了个类.我们起名叫MyObject,继承于NSObject. 继承知道吧,就是你这个子类(MyObject)假设什么都不写的话,和父类(NSObject)就是一模一样的. OC里 ...

  3. 多button事件处理

    private void ButtonClick(object sender, RoutedEventArgs e) { Button cmd = (Button)e.OriginalSource; ...

  4. ps图片怎样实现渐变

    首先我先将一副图片展示给大家: 我所做的效果是想把图片做成渐变.而不改变中间图片的颜色效果. 接下来我来说明一下我的所做思路. 首先将图片中间部分选择出来.然后复制成一个图层. 详细操作是用魔棒进行反 ...

  5. jdk、jre、spring、java ee、java se

    1 java se.java ee和java me 这三个是java的标准.java se是根本,java ee建立在java se上,用于server.java me是java se的子集,用于终端 ...

  6. qq xxs

    qq xxs qq xxs 有很多举个简单例子 : QQ空间发段文章 带上 <script> 提交(document.cookie) 到 自己服务端获取 </script> 在 ...

  7. 【Silverlight】Bing Maps学习系列(三):如何控制地图

    [Silverlight]Bing Maps学习系列(三):如何控制地图 本篇主要介绍如何对地图的一些常用控制操作,包括地图加载模式.根据精度和纬度定位.变焦程度等. 一.动态设置地图加载模式 在本系 ...

  8. T4 最小差异值 dvalue

    T4 最小差异值 dvalue [问题描述] P 省刚经历一场不小的地震,所有城市之间的道路都损坏掉了,所以省长想请你将城市之间的道路重修一遍. 因为很多城市之间的地基都被地震破坏导致不能修公路了,所 ...

  9. BZOJ_1862_[Zjoi2006]GameZ游戏排名系统&&BZOJ_1056_[HAOI2008]排名系统_Splay

    BZOJ_1862_[Zjoi2006]GameZ游戏排名系统&&BZOJ_1056_[HAOI2008]排名系统_Splay Description 排名系统通常要应付三种请求:上传 ...

  10. Java 泛型 四 基本用法与类型擦除

    简介 Java 在 1.5 引入了泛型机制,泛型本质是参数化类型,也就是说变量的类型是一个参数,在使用时再指定为具体类型.泛型可以用于类.接口.方法,通过使用泛型可以使代码更简单.安全.然而 Java ...