zoukankan      html  css  js  c++  java
  • [转]dataGridView控件DateTime列插入DateTimePicker

    来自:http://www.cnblogs.com/ojekleen/articles/dataGridView.html

    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();

                }

            }

  • 相关阅读:
    linux学习 建立静态库,动态库,写简单的makefile
    C++中顶层const和底层const
    BDB (Berkeley DB)数据库简单介绍(转载)
    Java中Map的使用
    Spring MVC 3 深入总结
    nvl,空时的推断和取值
    java堆栈 (转)
    mybatis--面向接口编程
    HDU 4888
    socket编程——一个简单的样例
  • 原文地址:https://www.cnblogs.com/2008freestyle/p/2441163.html
Copyright © 2011-2022 走看看