如何在C#(winform)的datagrigview中点击编辑然后整行都可以进行编辑

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在C#(winform)的datagrigview中点击编辑然后整行都可以进行编辑相关的知识,希望对你有一定的参考价值。

如图,datagrigview读取的是数据库表stu中的数据,现在想实现的是点击编辑然后整行都可以进行编辑,“编辑””名称变成“确认”,待更改完毕后点击“确认”将更改后的数据写入数据库。

参考技术A 第一,datagrigview里面有一个属性,专门就是可以在datagrigview控件上进行双击操作数据的属性,你找一下。不过你想直接一整行都一次性编辑不可能应该,计算他能实现,你自己也会看晕的
第二,编辑变成确定,也比较容易,看你能做到不,就是你写一个双击事件,将当前行的'编辑'列里面的value/text/等属性改成确定就好了,然后在按钮事件里判断是确定还是编辑;当然,这是比较笨的,高级的我懒得想了。
第三,写入数据库,这个你 经历过了自然会不难,但是你要是刚刚接触,还是有点难说的本回答被提问者和网友采纳

C# winform 中如何实现如下的表格

目的不是展示数据,而是实现类似多选的功能;
当然,可以用 CheckBox实现,但太麻烦了,数目比较多,而且选项的个数需要动态生成。
自己用 DataGridView 实现了:

具体代码在这里:
http://blog.csdn.net/lj22377/article/details/47024325

参考技术A

     /// <summary>

            /// 自动生成checkbox

            /// </summary>

            /// <param name="line">行数</param>

            /// <param name="col">列数</param>

            public void SetCheckBox(int line,int col)

           

                CheckBox ck = null;

                for (int i = 0; i < line; i++)

               

                    for (int j = 0; j < col; j++)

                   

                        ck = new CheckBox();

                        ck.Location = new Point(13 * (j), 13*(i));

                        ck.Size = new System.Drawing.Size(13, 13);

                        ck.Name = "ck" + i + j;

                        ck.Text = "";

                        this.Controls.Add(ck);

                   

               

           

追问

非常感谢,我想过这样实现。
但这样会显得界面很凌乱,图片中的表格效果会比较好。

参考技术B 使用datagridview追问

怎么样实现多选的效果?

追答

选择一个,改变一个单元格的背景色,同时在后台设置一个数组记录下已选择的单元格坐标,取消选择,则变回原来的颜色,同时在数组中将已记录的坐标删除。

或者,你看看有没有如下属性
设置datagridview的MuiltSelect=true;

本回答被提问者采纳

以上是关于如何在C#(winform)的datagrigview中点击编辑然后整行都可以进行编辑的主要内容,如果未能解决你的问题,请参考以下文章

如何在 C# Winforms 表单之间转换?

C#的winform程序如何实现mp3文件的播放啊?

C# winform 设计 如何相对居中

c#如何在winform中打开一个excel文档呢

如何使用c#在winforms中为每个用户授予权限

[C#]如何在winform的矩阵单元格中填充颜色?