C#在datagridview单元格中增加日期控件,实现单元格日期控件下拉

     在VS2005的datagridview的单元格中,可以设置单元格的下来方式为文本格式,下拉框格式,等,但是没有单元格的下拉,贴出代码让大家参考一下:

 private void bibie_Load(object sender, EventArgs e)
        {
            status(true);
            dmg.Value = System.DateTime.Now;
            this.dataGridView1.Controls.Add(dmg);            
            dmg.Visible = false;
        }

  private void dataGridView1_CurrentCellChanged(object sender, EventArgs e)
        {
            try
            {
                if (this.dataGridView1.CurrentCell.ColumnIndex.ToString() == "4" || this.dataGridView1.CurrentCell.ColumnIndex.ToString() == "6" || this.dataGridView1.CurrentCell.ColumnIndex.ToString() == "5")//在此指定和哪一列绑定
                {
                    System.Drawing.Rectangle rect = dataGridView1.GetCellDisplayRectangle(dataGridView1.CurrentCell.ColumnIndex, dataGridView1.CurrentCell.RowIndex, false);
                    dmg.Left = rect.Left;
                    dmg.Top = rect.Top;
                    dmg.Width = rect.Width;
                    dmg.Height = rect.Height;
                    dmg.Visible = true;
                    i = this.dataGridView1.CurrentRow.Index;
                     j = this.dataGridView1.CurrentCell.ColumnIndex;
                     dataGridView1.CurrentCell.Value = dmg.Value;
                }
                else
                {
                    dmg.Visible = false;
                }
               
            }
            catch
            {
            }
        }
最后的效果:

 

  • 6
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
DataGridView 件的 EditMode 属性设置为 EditOnEnter 或 EditOnKeystrokeOrF2 时,可以在单元内生成下列表件。 以下是在单元内生成下列表件的示例代码: 1. 在 Form_Load 事件添加以下代码,创建一个 DataTable 并将其绑定到 DataGridView 件: ``` Dim dt As New DataTable dt.Columns.Add("Name") dt.Columns.Add("Gender") dt.Columns.Add("Age") dt.Rows.Add("John", "Male", "25") dt.Rows.Add("Mary", "Female", "30") dt.Rows.Add("Tom", "Male", "35") DataGridView1.DataSource = dt ``` 2. 在 DataGridView1_EditingControlShowing 事件添加以下代码,判断当前单元是否是“Gender”列,如果是,则创建一个 ComboBox 件并将其绑定到单元: ``` Private Sub DataGridView1_EditingControlShowing(sender As Object, e As DataGridViewEditingControlShowingEventArgs) Handles DataGridView1.EditingControlShowing If DataGridView1.CurrentCell.ColumnIndex = 1 Then '判断当前单元是否是“Gender”列 Dim comboBox As ComboBox = TryCast(e.Control, ComboBox) If comboBox IsNot Nothing Then comboBox.DropDownStyle = ComboBoxStyle.DropDownList '设置 ComboBox 件的下列表样式为 DropDownList comboBox.Items.Clear() comboBox.Items.Add("Male") comboBox.Items.Add("Female") End If End If End Sub ``` 注意:在 DataGridView1_EditingControlShowing 事件创建 ComboBox 件时,要将其下列表样式设置为 DropDownList,这样用户就只能从下列表选择一个值。 完成上述操作后,在单元内单击并进入编辑模式时,就会出现一个下列表件。用户可以从下列表选择一个值,然后按 Enter 键或单击其他单元来保存所选值。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值