VS2005的DataGridView单元格增加日期控件

翻译|其它|编辑:郝浩|2008-03-10 16:57:49.000|阅读 3798 次

概述:

# 界面/图表报表/文档/IDE等千款热门软控件火热销售中 >>

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace dataGridView添加Combobox
{
 public partial class Form1 : Form
 {
  public Form1()
  {
   InitializeComponent();
  }
  DataSet ds_User = new DataSet();
  /// <summary>
   /// 获取表中的数据
   /// </summary>
   /// <param name="sender"></param>
   /// <param name="e"></param>
   private void btnQuery_Click(object sender, EventArgs e)
   {
    string str = "select * from bill_user";
    ds_User.Clear();
    ds_User=BLL.OraHelper.getDataSet(str);
    this.dataGridView1.DataSource=ds_User.Tables["dt"];
   }
   /// <summary>
   /// 构建下拉框
/// </summary>
   // private ComboBox cmb_Temp = new ComboBox();
   private DateTimePicker dtp = new DateTimePicker();// DateTimeKind dtp = new DateTimeKind();


   private void Form1_Load(object sender, EventArgs e)
   {
   ///取日期
    dtp.Value = System.DateTime.Now;
   ///获取数据
    this.btnQuery.PerformClick();
   /// 设置下拉列表框不可见
   //cmb_Temp.Visible = false;
   // 添加下拉列表框事件
    dtp.ValueChanged += new EventHandler(dtp_ValueChanged); ;//new dtp_ValueChanged
   //cmb_Temp.SelectedIndexChanged += new EventHandler(cmb_Temp_SelectedIndexChanged);
    this.dataGridView1.Controls.Add(dtp);

   }
   private void cmb_Temp_SelectedIndexChanged(object sender, EventArgs e)
   {

   this.dataGridView1.CurrentCell.Value = ((ComboBox)sender).SelectedValue;
    this.dataGridView1.CurrentCell.Tag = ((ComboBox)sender).SelectedValue;//.Text;

   }
/// <summary>
///当用户选择的单元格移动到性别这一列时,我们要显示下拉列表框,添加如下事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
   private void dataGridView1_CurrentCellChanged(object sender, EventArgs e)
   {
    try
    {
     if (this.dataGridView1.CurrentCell.ColumnIndex == 6)//在此指定和哪一列绑定
     {
     Rectangle rect = dataGridView1.GetCellDisplayRectangle(dataGridView1.CurrentCell.ColumnIndex, dataGridView1.CurrentCell.RowIndex, false);
     string strOrg_name = dataGridView1.CurrentCell.Value.ToString();
     this.dtp.Value = Convert.ToDateTime(strOrg_name);
     dtp.Left = rect.Left;
     dtp.Top = rect.Top;
     dtp.Width = rect.Width;
     dtp.Height = rect.Height;
     dtp.Visible = true;
    }
    else
    {
     dtp.Visible = false;
    }
   }
   catch
   {
   }
  }

  private void dataGridView1_Scroll(object sender, ScrollEventArgs e)
  {
   this.dtp.Visible = false;

  }

  private void dataGridView1_ColumnWidthChanged(object sender, DataGridViewColumnEventArgs e)
  {
   this.dtp.Visible = false;
  }

  private void dateTimePicker1_ValueChanged(object sender, EventArgs e)
  {

  }
  private void dtp_ValueChanged(object sender, EventArgs e)
  {

  }



  }//类结束
}
标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@evget.com

文章转载自:博客

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP