现在有一个datagridview,总共有4列,前三列为数据,第4列为linkbutton,如下编码 用户名 密码 操作区域
01 a 245 修改
02 b 354 修改
……
如何实现在点击“修改”的时候,密码列变成textbox输入的样式,并且“修改”变成“提交“、”取消”,我记得这个好像在2003 asp。net里面一个控件的模版列,具体的我给忘了,希望大家能够帮忙解决,如果有不清楚的地方请提出来,我及时补充。
01 a 245 修改
02 b 354 修改
……
如何实现在点击“修改”的时候,密码列变成textbox输入的样式,并且“修改”变成“提交“、”取消”,我记得这个好像在2003 asp。net里面一个控件的模版列,具体的我给忘了,希望大家能够帮忙解决,如果有不清楚的地方请提出来,我及时补充。
解决方案 »
- DataTable有关的几个问题
- C#中让窗体显示在最前端和关闭的窗口再打开的问题!!!
- C# 将datagridview的数据插入到数据库
- 急急急~!!!!
- 密码修改的代码怎么写?(C#+sql2000)
- 困惑----使用委托的优点
- Process.MainWindowHandle是个骗人的东西
- 高分求解困擾很久的怪問題-----分不夠另外開貼
- 在线等, C#中,Size 是用什么做单位的, 如果实现与缇的相互转化
- C# 可以多选的Combobox
- 菜鸟提问,关于两个窗体之间的问题
- 关于 statusstrip 控件右下角小手柄,SizingGrip=false 但那一小正方块仍存在,向高手们求救~!~!~!
1:在密码列绑定的时候每个单元格2个控件,1个lable,一个textbox,初始化隐藏textbox,点击修改列按钮的时候让密码列中lable(用来显示你的密码的控件)隐藏,textbox出现,修改列的button的text为提交,触发editend事件将编辑结果更新到lable和数据库控制textbox隐藏,lable显示
2:直接设置datagridviewcell=new datagridviewtextboxcell();[这样写是没有问题的指定你需要重新更改的cell坐标]将你要改的内容设置为textboxcell,你目前的情况看来不用设置,因为系统默认给你分配的就是textbox,你只需要让指定的cell,用beginedit让其处于编辑状态就行了= =,然后控制你的修改按钮的文字,编辑完了改回来
解决的方法有我上面说的 this.dataGridView1.CurrentCell = this.dataGridView1.Rows[1].Cells[1];
设置或当前cell然后用然后用sendkey 类模拟按键f2可以编辑
或者,自定义模板,在cell里面承载textbox控件,方法和我开始告诉你解决第一个问题的方法类似,用textbox的Focus()方法来获取焦点然后隐藏并且将输入内容更新到datagridview的数据源