当前位置: 首页 > news >正文

winform,DataGridView单元格点击选择日期,日期控件

winform,DataGridView单元格点击选择日期,日期控件

在这里插入图片描述

/// <summary>
/// 新增,工作日历配置
/// </summary>
public partial class FrmCalendarProductivityAdd : BaseForm.FrmBaseForm
{public static string strUserId, strUserName, personId, personName;public SqlConnection myConn;/// <summary>/// 时间控件/// </summary>private DateTimePicker _dtptime = new DateTimePicker();BasCommand.BasCommand bs = new BasCommand.BasCommand();public FrmCalendarProductivityAdd(FrmWorkingCalendar _parentFrm){InitializeComponent(); }private void FrmCalendarProductivityAdd_Load(object sender, EventArgs e){this.hlDataGridView1.AutoGenerateColumns = false;this.hlDataGridView1.Scroll += (s, e2) =>{//滚动条滚动时,隐藏时间控件_dtptime.Visible = false;};//编辑表格中的,检验日期,弹出时间控件this.Controls.Add(_dtptime);_dtptime.Visible = false;_dtptime.Font = new Font("宋体", 11F, FontStyle.Regular, GraphicsUnit.Point, ((byte)(134)));_dtptime.Format = DateTimePickerFormat.Custom;_dtptime.CustomFormat = "yyyy-MM-dd";//更新表格日期值,选择的日期复制给单元格_dtptime.CloseUp += (o, e45) =>{var dtp = o as DateTimePicker;DataGridViewCell currentCell3 = dtp.Tag as DataGridViewCell;if (currentCell3 != null){currentCell3.Value = dtp.Value;currentCell3.DataGridView.EndEdit();                    dtp.Visible = false;}};this.hlDataGridView1.CellClick += HlDataGridView1_CellClick;}private void HlDataGridView1_CellClick(object sender, DataGridViewCellEventArgs e){var dgv = sender as HLDataGridView;if (e.RowIndex < 0 || e.ColumnIndex < 0){return;}//如果点击的是日期列,则显示日期控件if (dgv.Columns[e.ColumnIndex].Name == "date"){SelectedDate(dgv.CurrentCell);}}/// <summary>/// 点击时间单元格时,替换为日期控件/// </summary>/// <param name="currentCell"></param>private void SelectedDate(DataGridViewCell currentCell){_dtptime.Tag = null;var dgv = currentCell.DataGridView;//获取单元格位置Rectangle _rect = this.RectangleToClient(dgv.RectangleToScreen(dgv.GetCellDisplayRectangle(currentCell.ColumnIndex, currentCell.RowIndex, true)));_dtptime.LostFocus += (o, e) =>{_dtptime.Visible = false;};_dtptime.Location = _rect.Location;_dtptime.Size = _rect.Size;_dtptime.BringToFront();_dtptime.Value = bs.GetDynamicToValue<DateTime>(currentCell.OwningRow.Cells["date"].Value, DateTime.Now.Date);_dtptime.Visible = true;_dtptime.BringToFront();_dtptime.Focus();    _dtptime.Tag = currentCell;}
http://www.dtcms.com/a/309187.html

相关文章:

  • 使用 whisper, 音频分割, 整理需求 2
  • 高防服务器租用:保障数据安全
  • 【智能Agent场景实战指南 Day 29】Agent市场趋势与前沿技术
  • 法国彩虹重磅发布EmVue:解锁能源监控新方式
  • TGD第十篇:当神经网络遇到TGD特征
  • 相亲小程序个人资料管理系统模块搭建
  • 数据结构(10)栈和队列算法题
  • 25电赛e题杂乱环境稳定识别矩形框(附源码)
  • 浏览器环境segmentit实现中文分词
  • 精通分类:解析Scikit-learn中的KNN、朴素贝叶斯与决策树(含随机森林)
  • LLM Prompt与开源模型资源(2)提示工程关键技术
  • 工程化(二):为什么你的下一个项目应该使用Monorepo?(pnpm / Lerna实战)
  • 位运算-面试题01.01.判定字符是否唯一-力扣(LeetCode)
  • 【unity小技巧】封装unity适合2D3D进行鼠标射线检测,获取鼠标位置信息检测工具类
  • 8.1每日一题
  • (线段树)SP2916 GSS5 / nfls #2899 查询最大子段和 题解
  • STL进阶典题整理 2025.7.30-2025.8.1
  • 关于继承的一些知识(C++)
  • react-native在mac的m2芯片下,pod install安装glog的时候报错
  • bmcweb工作流程
  • 【科研绘图系列】R语言绘制环状分组显著性柱状堆积图
  • Spring AI 系列之三十 - Spring AI Alibaba-其它模型
  • CSS font-weight:500不生效
  • Git 命令使用指南:从入门到进阶
  • 动态规划(数位统计dp 状态压缩dp 树形dp 记忆化搜索) from y总
  • 【C语言】字符函数与字符串函数详解
  • http请求访问响应慢问题解决的基本思路
  • 基于python大数据的招聘数据可视化及推荐系统
  • natapp的报错Tunnel StatusReconnecting...
  • STM32芯片简述