public
Form1()
...
{ InitializeComponent(); }
//
定义一个DateTimePicker控件
private
DateTimePicker dTimePicker
=
new
DateTimePicker();
//
定义一个DataSet
private
DataSet ds;
private
void
Form1_Load(
object
sender, EventArgs e)
...
{ //隐藏dTimePicker dTimePicker.Visible = false; //dataGirdView1控件数据绑定 Data_Bind(); //定义控件dTimePicker当Text变更时委托于事件dTimePicker_TextChanged dTimePicker.TextChanged += new EventHandler(dTimePicker_TextChanged); //dataGridView1添加控件dTimePicker dataGridView1.Controls.Add(dTimePicker); }
/**/
/// <summary> /// dataGirdView绑定数据 /// </summary>
private
void
Data_Bind()
...
{ string sqlstr = "select businessname,lastlogindate from business"; ds = SqlHelper.ExecuteDS(CommandType.Text, sqlstr); dataGridView1.DataSource = ds.Tables[0].DefaultView; }
//
事件dTimePicker_TextChanged,当dTimePicker当Text变更时触发
private
void
dTimePicker_TextChanged(
object
sender, EventArgs e)
...
{ //把dTimePicker的Text值赋给dataGridView1选中的单元格值 dataGridView1.CurrentCell.Value = dTimePicker.Text; }
private
void
dataGridView1_Scroll(
object
sender, ScrollEventArgs e)
...
{ //当dataGridView1滚动条移动时dTimePicker控件隐藏 dTimePicker.Visible = false; }
private
void
dataGridView1_ColumnWidthChanged(
object
sender, DataGridViewColumnEventArgs e)
...
{ //当dataGridView1的列宽改变时dTimePicker控件隐藏 dTimePicker.Visible = false; }
private
void
dataGridView1_CellClick(
object
sender, DataGridViewCellEventArgs e)
...
{ //判断选中行时日期类型 //dt = ds.Tables[0]; Type t = ds.Tables[0].Columns[dataGridView1.CurrentCell.ColumnIndex].DataType; DateTime d = DateTime.Now; if (t== d.GetType() ) ...{ //获得dataGridView1选中单元格显示区域的矩形 Rectangle Rect = this.dataGridView1.GetCellDisplayRectangle(this.dataGridView1.CurrentCell.ColumnIndex, this.dataGridView1.CurrentCell.RowIndex, false); //显示dTimePicker在dataGridView1选中单元格显示区域的矩形里面,即选中单元格内 dTimePicker.Visible =
true
; dTimePicker.Top
=
Rect.Top; dTimePicker.Left
=
Rect.Left; dTimePicker.Height
=
Rect.Height; dTimePicker.Width
=
Rect.Width;
//
dTimePicker控件获取初始值为dataGridView1选中单元格值
dTimePicker.Text
=
dataGridView1.CurrentCell.Value.ToString(); }
}
~
Form1()
...
{ ds.Dispose(); ds.Clear(); System.GC.Collect(); }
}
转载请注明原文地址: https://ibbs.8miu.com/read-2271528.html