datagridview-C# DataGridView列编辑控件显示问题

问题描述

C# DataGridView列编辑控件显示问题

各位高手, 我在调整界面布局时,遇到这样一个问题, 在datagridView中有一个日期列,一个数字列,当我分别点击该列,会分别出现一个dateTimePicker, NumbericUpDown控件进行编辑。 我调整布局,将该dataGridView放入一个TableLayoutPanel后,这两个编辑控件就不出来了。不知何原因,寻求帮助,谢谢!

下面是代码
private void dataGridView_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
{
if (e.RowIndex= this.dataGridView.RowCount) return;
// 设置坐标

if (e.ColumnIndex == 2)
{
Rectangle cellRectange = this.dataGridView.GetCellDisplayRectangle(e.ColumnIndex, e.RowIndex, false);
this.datePicker.Left = this.dataGridView.Left + cellRectange.X;
this.datePicker.Top = this.dataGridView.Top + cellRectange.Y;
this.datePicker.Width = cellRectange.Width;
this.datePicker.Height = cellRectange.Height;

            // 值
            if (this.dataGridView.Rows[e.RowIndex].Cells[e.ColumnIndex].Value == null || this.dataGridView.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString() == "")
            {
                this.datePicker.Value = DateTime.Now;
                this.datePicker.Visible = true;
            }
            else
            {
                this.datePicker.Value = Convert.ToDateTime(this.dataGridView.Rows[e.RowIndex].Cells[e.ColumnIndex].Value);
                this.datePicker.Visible = true;
            }
        }

        else if (e.ColumnIndex == 5)
        {
            Rectangle cellRectange = this.dataGridView.GetCellDisplayRectangle(e.ColumnIndex, e.RowIndex, false);
            this.numUpDown.Left = this.dataGridView.Left + cellRectange.X;
            this.numUpDown.Top = this.dataGridView.Top + cellRectange.Y;
            this.numUpDown.Width = cellRectange.Width;
            this.numUpDown.Height = cellRectange.Height;
            // 值
            if (this.dataGridView.Rows[e.RowIndex].Cells[e.ColumnIndex].Value == null || this.dataGridView.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString() == "")
            {
                this.numUpDown.Value = 0;
                this.numUpDown.Visible = true;
            }
            else
            {
                this.numUpDown.Value = (int)this.dataGridView.Rows[e.RowIndex].Cells[e.ColumnIndex].Value;
                this.numUpDown.Visible = true;
            }
        }

解决方案

1)是不是当放入TableLayoutPanel后,在选则的时候,选中的是TableLayoutPanel。
2)可以试试先去掉TableLayoutPanel,看看有什么现象。

解决方案二:

谢谢 zy_的回答。我找到原因了,我发现这两个控件必须与dataGridView在同一个父面板中,同时Controls.Add时,两个控件必须在dataGridView前面。

解决方案三:

谢谢 zy_的回答。我找到原因了,我发现这两个控件必须与dataGridView在同一个父面板中,同时Controls.Add时,两个控件必须在dataGridView前面。

解决方案四:

谢谢 zy_的回答。我找到原因了,我发现这两个控件必须与dataGridView在同一个父面板中,同时Controls.Add时,两个控件必须在dataGridView前面。

解决方案五:

谢谢 zy_的回答。我找到原因了,我发现这两个控件必须与dataGridView在同一个父面板中,同时Controls.Add时,两个控件必须在dataGridView前面。

解决方案六:

谢谢 zy_的回答。我找到原因了,我发现这两个控件必须与dataGridView在同一个父面板中,同时Controls.Add时,两个控件必须在dataGridView前面。

时间: 2024-09-15 06:23:36

datagridview-C# DataGridView列编辑控件显示问题的相关文章

datagridview-C#dataGridView控件显示数据自动消失。

问题描述 C#dataGridView控件显示数据自动消失. 我在一个窗口中添加了两个dataGridView控件.但是当我要显示另外一个时,有一个里的就不显示.点击刷新的时候,刷新按钮操作的数据显示,点击查看按钮,刷新里面的数据就消失.两个按钮用到一个数据库的不同视图.谢谢. 解决方案 已解决,是我的一个小疏忽. 解决方案二: C#:在DataGridView控件中显示数据

c# 2 0-dataGridView控件显示

问题描述 dataGridView控件显示 先开始是这样显示的我想变成这样显示该怎么做啊?求解 解决方案 自己用代码填充表格,别用绑定的方法 解决方案二: 这个还真没有人做过,实际中不实用.可能是客户要求不合理,但客户有相当强横

vc用datagrid 控件显示查询结果 出现bug

问题描述 vc用datagrid 控件显示查询结果 出现bug 第一行第一列空白 之前啰里啰唆问了一大推,编辑了一下,保留了最核心的问题, 希望有大哥能授业解惑... 解决方案 这个要看你的具体的代码.你没有贴出代码和问题,贴的图都是一些无关紧要的东西. 至于列名,你在sql里指定就好了.比如select id, stu_id as 学号, c_name as 课程, grade as 成绩 from 表 解决方案二: 给控件添加值的时候,加个断点开下第一个里面的数据是不是空的,先确定是数据为空

在C++中用ActiveX控件显示PDF文件

PDF介绍 PDF是"Portable Document Format 可移植文档格式"的缩写,它是Adobe公司开发的一种电子文档格式,已经成为国际通用的电子文档交换事实标准.PDF文件可以在各种平台下阅读.编辑.发布.该文件格式支持字体.图像.甚至任何附件的嵌入. Adobe公司提供了两种软件用于处理PDF文档,分别是Acrobat及Acrobat Reader:前者功能强大,不仅能阅读,还可以创建或编辑PDF文档,但要收费:后者只具备阅读功能,为免费软件. 用ActiveX控件显

多文档-dsoframer控件显示多个文档,如何预览打印其中的一个文档?

问题描述 dsoframer控件显示多个文档,如何预览打印其中的一个文档? dsoframer控件目前使用 Me.AxFramerControl1.Activate()语句可以显示并编辑多个文档,请问怎么能预览打印其中的一个WORD? 解决方案 自己顶一下.大侠们帮忙啊.

仿酷狗音乐播放器开发日志二十三 修复Option控件显示状态不全的bug(附源码)

转载请说明原出处,谢谢~~          整个仿酷狗工程的开发将近尾声,现在还差选项设置窗体的部分,显然在设置窗体里用的最多的就是OptionUI控件,我在写好大致的布局后去测试效果,发现Option控件的显示效果很不理想.在源码中可以知道(属性列表中列的不全面)Option提供了8种显示状态,分别为 <Attribute name="normalimage" default="" type="STRING" comment="

listview-C#中,ListView控件显示列表头异常

问题描述 C#中,ListView控件显示列表头异常 在窗体加载时,列表头显示不正常,我只需要显示3个列标题!不知为何会变成这样??求大神指点 解决方案 贴出你的代码才知道,你是怎么加载的列头,有没有重画过. 解决方案二: C# ListView控件的分组显示与数据绑定

vb.net中listview控件显示

问题描述 vb.net中listview控件显示ListView1.Columns.Add("Title")程序启动后,没有显示这列??? 解决方案 解决方案二:要先設置View屬性listView1.View=View.Details;解决方案三:listView1.View=View.Details

基于MVC4+EasyUI的Web开发框架经验总结(5)--使用HTML编辑控件CKEditor和CKFinder

Web开发上有很多HTML的编辑控件,如CKEditor.kindeditor等等,很多都做的很好,本文主要介绍在MVC界面里面,CKEditor的配置和使用.CKEditor的前身是FCKEditor,随着它的更新,上传图片的功能被分离出去了,现在如果需要实现上传图片,要么自己写代码或者采用其他上传控件(如Uploadify),还有一种方法是使用CKFinder,这两者的合并使用,能给我们带来更多的方便. 1.CKEditor的使用 CKEditor的下载地址是http://ckeditor.