📄 xuqiuluruform.cs
字号:
((ComboBox)ctl).Text = "" ;
((ComboBox)ctl).Text = zhi ;
}
}
}
/// <summary>
/// 确定按钮事件
/// </summary>
private void BT_QueDing_Click(object sender, System.EventArgs e)
{
//获得控件数据
if(KongJianQuZhi())
{
//提交数据请求
this.chaXunShuJu.XuQiuTiJiao(this.huoQuShuJu,mxuQiuBianHao);
this.chaXunShuJu.GengXinXuQiu();
this.Close();
}
}
/// <summary>
/// 取消按钮事件
/// </summary>
private void BT_QuXiao_Click(object sender, System.EventArgs e)
{
this.Close();
}
#region 动态事件区
/// <summary>
/// 输入框键盘事件
/// </summary>
private void txtBox_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e)
{
if(Char.IsLetter(e.KeyChar))
{
e.Handled = true;
}
return ;
}
/// <summary>
/// 下拉框键盘事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void coboBox_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e)
{
e.Handled = true;
}
private void coboBox_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
{
e.Handled = true;
}
#endregion
#region 日期
/// <summary>
/// 返回选择日期
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void MyCalendar_DateSelected(object sender, System.Windows.Forms.DateRangeEventArgs e)
{
//显示格式
TextBox bianJiKuang = (TextBox)this.HuoQuKJ(mdangQianShuRuK) ;
bianJiKuang.Text=e.Start.ToString("yyyy-MM-dd");
mRiQiForm.Hide();
}
/// <summary>
/// 日期按钮事件
/// </summary>
private void BT_RiQi_Click(object sender, System.EventArgs e)
{
//获取当前输入框
string[] kongjianm = (((Button)sender).Name).Split('_') ;
if (kongjianm.Length <2) return ;
mdangQianShuRuK ="TB_" + kongjianm[1] ;
TextBox bianJiKuang = (TextBox)this.HuoQuKJ(mdangQianShuRuK) ;
this.mRiQiForm.MyCalendar.DateSelected += new System.Windows.Forms.DateRangeEventHandler(this.MyCalendar_DateSelected);
System.Drawing.Point mPoint=((Button)sender).PointToScreen(((Button)sender).Location);
mPoint.X= mPoint.X-((Button)sender).Location.X ;
mPoint.Y= mPoint.Y-((Button)sender).Location.Y+20 ;
mRiQiForm.Location =mPoint;
if (bianJiKuang.Text!="")
{
try
{
DateTime mdt=DateTime.Parse(bianJiKuang.Text);
mRiQiForm.MyCalendar.SetDate(mdt);
}
catch
{
bianJiKuang.Text="";
mRiQiForm.MyCalendar.SetDate(DateTime.Now.Date);
}
}
else
{
mRiQiForm.MyCalendar.SetDate(DateTime.Now.Date);
}
mRiQiForm.ShowDialog();
}
#endregion
#endregion
#region 保护方法区域
/// <summary>
/// 清理所有正在使用的资源。
/// </summary>
protected override void Dispose( bool disposing )
{
if( disposing )
{
if(components != null)
{
components.Dispose();
}
}
base.Dispose( disposing );
}
/// <summary>
/// 初始化界面
/// 创建控件,控件属性定义
/// </summary>
protected void ChuShiHua(System.Data.DataSet shuju)
{
//获取界面的描述
huoQuShuJu = ChuangJianShuJuJi() ;
if (shuju!=null)
this.DaoRuSHuJu(shuju) ;
//创建控件 控件有两个数据组:信息组和反馈组 分类加载
//信息组
this.ChuShiHuaXinXiZu(huoQuShuJu) ;
//反馈组(只在县级显示)
this.ChuShiHuaFanKuiZu(huoQuShuJu);
this.mxuQiuBianHao = shuju.Tables[0].Rows[0]["BianHao"].ToString().Trim() ;
}
/// <summary>
/// 设置界面编辑状态
/// </summary>
protected void SheZhiZhuangTai()
{
if (this.mzhuangTai==0)
{
//乡级
GB_FanKuiZu.Visible = false;
GB_XinXiZu.Height = 450 ;
}
else if (this.mzhuangTai==1)
{
//县级
GB_XinXiZu.Enabled = false ;
this.KongJianFuZhi() ;
}
else if (this.mzhuangTai==2)
{
GB_FanKuiZu.Enabled = false ;
GB_XinXiZu.Enabled = false ;
this.KongJianFuZhi() ;
}
}
/// <summary>
/// 给控件赋值
/// </summary>
protected void KongJianFuZhi()
{
string lieMing = "" ;
string kongJianMing ="" ;
string shuJuLeiXing = "" ;
string zhi = "";
if (huoQuShuJu.Tables["ShuJu"].Rows.Count==0) return ;
for (int i=0;i<huoQuShuJu.Tables["ShuJu"].Columns.Count;i++)
{
lieMing = huoQuShuJu.Tables["ShuJu"].Columns[i].ColumnName ;
kongJianMing = "TB_" + lieMing;
zhi = huoQuShuJu.Tables["ShuJu"].Rows[0][i].ToString().Trim() ;
//日期行数据处理
System.Data.DataRow[] rwshuJuLeiXing = huoQuShuJu.Tables["PeiZhiXinXi"].Select("ShuJuXiangKJM='" + lieMing + "'") ;
shuJuLeiXing = rwshuJuLeiXing[0]["ShuJuXiangKJLX"].ToString().Trim() ;
if (shuJuLeiXing=="日期数据类型"&&zhi!="")
zhi = Convert.ToDateTime(zhi).ToShortDateString() ;
//信息点编号
if (lieMing=="XinXiDianBianHao")
{
System.Data.DataRow[] xinXinD = huoQuShuJu.Tables["XinXiDian"].Select("XinXiDianBianHao='" + zhi + "'") ;
if (xinXinD.Length>0)
zhi = xinXinD[0]["XinXiDianXiJie"].ToString().Trim() ;
}
//需求类别
if (lieMing=="XuQiuLeiBie")
{
System.Data.DataRow[] xinXinD = huoQuShuJu.Tables["XuQiuFenLei"].Select("XuQiuDaMa='" + zhi + "'") ;
if (xinXinD.Length>0)
zhi = xinXinD[0]["XuQiuDaMaMingXi"].ToString().Trim() ;
}
FuZhi(kongJianMing,zhi) ;
}
}
/// <summary>
/// 从控件中取值
/// </summary>
protected bool KongJianQuZhi()
{
string lieMing = "" ;
string kongJianMing ="" ;
huoQuShuJu.Tables["ShuJu"].Rows.Clear() ;
System.Data.DataRow xinHang = huoQuShuJu.Tables["ShuJu"].NewRow() ;
System.Data.DataRow[] shuJuXiang ;
//过滤数据项 信息点和反馈组是分开存储的。
System.Collections.Hashtable table = new Hashtable() ;
System.Data.DataRow[] guoLv ;
if (this.mzhuangTai==1)
guoLv = huoQuShuJu.Tables["PeiZhiXinXi"].Select("ShuJuZuKJM = 'FanKuiZu'");
else
guoLv = huoQuShuJu.Tables["PeiZhiXinXi"].Select("ShuJuZuKJM = 'XinXiZu'");
for (int i=0;i<guoLv.Length;i++)
{
table.Add (guoLv[i]["ShuJuXiangKJM"].ToString().Trim(),"") ;
}
for (int i=0;i<huoQuShuJu.Tables["ShuJu"].Columns.Count;i++)
{
lieMing = huoQuShuJu.Tables["ShuJu"].Columns[i].ColumnName ;
shuJuXiang = huoQuShuJu.Tables["PeiZhiXinXi"].Select("ShuJuXiangKJM='" + lieMing + "'") ;
if (table.ContainsKey (lieMing))
{
kongJianMing = "TB_" + lieMing;
string zhi = QuZhi(kongJianMing) ;
//XiTongShuJu 不能为空
if (zhi==""&&shuJuXiang[0]["XiTongShuJu"].ToString().Trim()=="Y" )
{
MessageBox.Show (shuJuXiang[0]["ShuJuXiangMing"].ToString().Trim() + " 不能为空!");
return false ;
}
//浮点书校验
if (zhi!=""&&shuJuXiang[0]["ShuJuXiangKJLX"].ToString().Trim()=="浮点数据类型" )
{
try
{
float fuDianShu = Convert.ToSingle(zhi) ;
}
catch
{
MessageBox.Show (shuJuXiang[0]["ShuJuXiangMing"].ToString().Trim() + "必须为浮点数!");
return false ;
}
}
else if (zhi==""&&shuJuXiang[0]["ShuJuXiangKJLX"].ToString().Trim()=="浮点数据类型" )
zhi="0";
//需求类别
if (shuJuXiang[0]["ShuJuXiangMing"].ToString().Trim()=="需求类别")
{
int suoYing = int.Parse(zhi);
zhi = huoQuShuJu.Tables["XuQiuFenLei"].Rows[suoYing]["XuQiuDaMa"].ToString().Trim() ;
}
//信息点编号
if (shuJuXiang[0]["ShuJuXiangMing"].ToString().Trim()=="信息点编号")
{
int suoYing = int.Parse(zhi);
zhi = huoQuShuJu.Tables["XinXiDian"].Rows[suoYing]["XinXiDianBianHao"].ToString().Trim() ;
}
xinHang[lieMing] = zhi ;
}
}
huoQuShuJu.Tables["ShuJu"].Rows.Add(xinHang) ;
return true ;
}
#endregion
#region 公有方法区域
/// <summary>
/// 构造函数
/// </summary>
public XuQiuLuRuForm()
{
InitializeComponent();
}
/// <summary>
/// 构造函数
/// </summary>
/// <param name="jiemianKongZhi">界面控制对象</param>
/// <param name="zhuangtai">界面状态 </param>
/// <param name="shuju">界面显示数据</param>
public XuQiuLuRuForm(clsXianKongZhi jiemianKongZhi,int zhuangtai,System.Data.DataSet shuju)
{
InitializeComponent();
this.mzhuangTai = zhuangtai ;
chaXunShuJu = jiemianKongZhi;
this.ChuShiHua(shuju);
mRiQiForm = new RiQiForm();
this.SheZhiZhuangTai() ;
this.SheZhiFormSize() ;
}
/// <summary>
/// 获取控件;
/// 通过名称查找到相应控件
/// </summary>
/// <param name="kongjianmc"></param>
/// <returns>Control/控件</returns>
public Control HuoQuKJ(string kongjianmc)
{
Control ctl=null;
foreach (Control frmctl in this.Controls)
{
//得到groupbox
if (typeof(System.Windows.Forms.GroupBox).Equals(frmctl.GetType()))
{
foreach (Control grpctl in frmctl.Controls)
{
//得到Panel
if (typeof(System.Windows.Forms.Panel).Equals(grpctl.GetType()))
{
foreach (Control panctl in grpctl.Controls)
{
if(panctl.Name.Equals(kongjianmc))
{
ctl=panctl;
return panctl;
}
}
}
}
}
if(frmctl.Name.Equals(kongjianmc))
{
ctl=frmctl;
return frmctl;}
}
if(null==ctl)
{
// MessageBox.Show(kongjianmc+"在界面上找不到!");
}
return ctl;
}
#region 数据处理
/// <summary>
/// 构造界面数据集
/// 包括两个DataTable: JieGou 界面元素描述 ; ShuJu 存放界面中得到的数据
/// 其中:JieGou的DataTable为从服务器端得到的配置dataTable ,
/// ShuJu 的DataTable 列名为结构DataTable 中的ShuJuXiangKJM的值
/// </summary>
/// <returns></returns>
public System.Data.DataSet ChuangJianShuJuJi()
{
System.Data.DataSet ret = new System.Data.DataSet() ;
//JieGou
System.Data.DataSet fuWuQiMiaoShu = chaXunShuJu.HuoDeShuJu(clsChangLiang.SHUJU_PEIZHIXINXI) ;
ret.Tables.Add(fuWuQiMiaoShu.Tables["PeiZhiXinXi"].Copy()) ;
//ShuJu
System.Data.DataTable shuJuDatable = new System.Data.DataTable("ShuJu") ;
System.Data.DataColumn xinlie ;
for (int i=0;i<fuWuQiMiaoShu.Tables["PeiZhiXinXi"].Rows.Count;i++)
{
xinlie = new System.Data.DataColumn() ;
xinlie.ColumnName = fuWuQiMiaoShu.Tables["PeiZhiXinXi"].Rows[i]["ShuJuXiangKJM"].ToString().Trim() ;
shuJuDatable.Columns.Add(xinlie) ;
}
ret.Tables.Add(shuJuDatable) ;
fuWuQiMiaoShu = chaXunShuJu.HuoDeShuJu(clsChangLiang.SHUJU_JIBENSHUJU) ;
ret.Tables.Add(fuWuQiMiaoShu.Tables["XinXiDian"].Copy()) ;
ret.Tables.Add(fuWuQiMiaoShu.Tables["XuQiuFenLei"].Copy()) ;
return ret ;
}
/// <summary>
/// 将传入的数据导入到界面DataSet中
/// </summary>
public void DaoRuSHuJu(System.Data.DataSet shuju)
{
System.Collections.Hashtable table = new Hashtable() ;
huoQuShuJu.Tables["ShuJu"].Rows.Clear() ;
System.Data.DataRow xinHang = huoQuShuJu.Tables["ShuJu"].NewRow () ;
string lieMing = "" ;
for (int i=0;i<shuju.Tables [0].Columns.Count;i++)
table.Add(shuju.Tables [0].Columns[i].ColumnName,"") ;
for (int i=0;i<huoQuShuJu.Tables["ShuJu"].Columns.Count;i++)
{
lieMing = huoQuShuJu.Tables["ShuJu"].Columns[i].ColumnName ;
if (table.ContainsKey(lieMing))
xinHang[lieMing] = shuju.Tables[0].Rows[0][lieMing].ToString() ;
}
huoQuShuJu.Tables["ShuJu"].Rows.Add(xinHang) ;
}
#endregion
#endregion
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -