C# 重构中遇到的问题

16 篇文章 1 订阅

###1、form.Show() 和form.ShowDialog() 的区别
  show:不是模态窗体,就是用它将窗体显示出来,它可以不关闭而继续使用其它的窗体。
  showDialog:模态窗体,只能将它关闭之后,才可以使用其它窗体。

###2、comboBox控件
选取值的问题:

string level=comboLevel.SelectedItem.ToString();   //获取下拉框选中的值

下拉框的选择问题
  DropDownStyle属性:

属性值含义
Simple简单的下拉列表框(始终显示列表)
DropDown可以编辑,与有下拉列表。默认
DropDownList只有下拉列表,不能编辑

  代码实现:

combox1.DropDownStyle = ComboBoxStyle.DropDownList;

###3、DataGridView控件

//修改标题行
dataGridView1.Columns[0].HeaderCell.Value = "编号"; 

//获取当前选中行的用户id
string userid = dataGridView1.CurrentRow.Cells["用户名"].Value.ToString();

//移除当前选中行
dataGridView1.Rows.Remove(dataGridView1.CurrentRow);

去除空白行:
  将属性AllowUserToAddRows 设置为 False
设置控件不能编辑
  将属性ReadOnly 设置为 True
只能选取整行
  将属性 SelectionMode 设置为 FullRowSelect

//去除表格空白行,也就是不能手动添加行
dataGridView1.AllowUserToAddRows = false;
//不能修改
dataGridView1.ReadOnly = true;
//选择模式,整行选取
dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect;



###4、提示框

 //提示用户是否要删除
DialogResult result = MessageBox.Show("确定要删除吗?","警告",MessageBoxButtons.OKCancel);
if (result==DialogResult.OK)
{
	MessageBox.Show("点击了确定按钮");
}

###5、日期转换出错问题:
不要使用强转方法,使用convert.toDateTime方法来转换。

###6、获取时间
(1)获取本地时间

string now=System.DateTime.Now.ToString();
string date = now.Split(new char[] {' '})[0]; //获取日期部分
string time = now.Split(new char[] {' '})[1]; //获取时间部分

(2)获取服务器时间

char[] c = { ' ' };
string now = sqlHelper.ExecuteScalar("select getdate()").ToString();
string[] dateList = now.Split(c);
this.date = dateList[0];  //获取日期部分
this.time = dateList[1];  //获取时间部分

使用时,要考虑的问题:
  为什么要获取服务器的时间么? //值得思考一下,应该是哪个的时间
  那就和系统的部署有关系了,不管是c/s结构还是b/s结构,如果数据都是从本地的数据库中调取的,那么日期就应该是本地的时间,因为本地保存数据库就相当于“服务器”,集服务器与客户端一体。如果我们的数据都是存在网络上的服务器,需要联网获取真正的远程服务器的数据,那么就应该考虑使用服务器的时间。
对于服务器和客户端在同一台电脑上的系统来说,本地时间和服务器时间是相同的,这样的话,使用哪个都可以。

格式化SQL日期

SELECT  FORMAT(date,'yyyy-MM-dd') as date FROM dbo.t_CheckWeek
//注意:必须区分格式化函数的大小写,年和日是小写,月份是大写

###7、报表日期问题:
  数据库里面的类型是date类型,只是日期部分,但是读取到报表中显示就成了日期+时间的格式,大概是因为vs里只有DateTime类型,没有Date类型吧。我们可以采取对报表中的参数格式化来只显示日期。

关于读取日期问题,通过参数的属性设置,将它格式化成短日期的格式。
这里写图片描述

=FormatDateTime(Fields!mydate.Value, DateFormat.ShortDate)

注意:日期的查询,数据库中的类型必须是“日期类型”,如果是字符串类型,则查询不到。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 19
    评论
评论 19
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值