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
文章转载自:博客