| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4336 人关注过本帖
标题:[求助]DataGridView的一个超级变态的问题
只看楼主 加入收藏
crazymk
Rank: 1
等 级:新手上路
威 望:1
帖 子:343
专家分:0
注 册:2007-8-30
收藏
得分:0 

class MyDataGridView :DataGridView
{
protected override void OnKeyDown(KeyEventArgs e)
{

if (e.KeyCode == Keys.Enter)
{
SendKeys.Send("{Tab}");
e.SuppressKeyPress = true;
}
base.OnKeyDown(e);

}
protected override bool ProcessDialogKey(Keys keyData)
{
if (keyData == Keys.Enter)
{
keyData = Keys.Tab;
}
else if (keyData == (Keys.Enter|Keys.Shift))
{
keyData = Keys.Tab | Keys.Shift;
}
return base.ProcessDialogKey(keyData);
}

}
剛才考慮不周


すばらしいコードを書き出すのは楽しい事です
2007-10-10 12:19
andey
Rank: 2
等 级:新手上路
威 望:4
帖 子:938
专家分:0
注 册:2007-7-18
收藏
得分:0 
那么..shift怎么绑定呢?
另外..还是那个问题..就厡题的第二问:当处于编辑状态的时候,按Enter..还是那样..上面的第二个窗体传不过来值!!!...
我试了一下..我本来试将textBox绑定DataTable的..这样会出现问题...
然后..在XXXDesigner.cs里修改..textBox访问属性为public static 后..然后在第二个窗体直接赋值给textBox就没有问题了..专家解释一下好吗?

msdn == 葵花宝典!!!
QQ:122768959
2007-10-10 15:11
andey
Rank: 2
等 级:新手上路
威 望:4
帖 子:938
专家分:0
注 册:2007-7-18
收藏
得分:0 
还有...把控件设成static的好麻烦啊...
会非常的麻烦..麻烦到你不可想象

msdn == 葵花宝典!!!
QQ:122768959
2007-10-10 15:46
crazymk
Rank: 1
等 级:新手上路
威 望:1
帖 子:343
专家分:0
注 册:2007-8-30
收藏
得分:0 
我被妳弄亂了
①我測試過在編輯狀態下11樓寫的代碼已經解決了SHIFT問題。目前編輯狀態下ENTER鍵和TAB鍵效果是一樣的了。
關於妳所說的「按Enter..还是那样..」暫時沒辦法確定原因。妳的DGV控件是我所寫的十一樓代碼中重寫的控件的實例麼,妳有沒有加其他東西
②妳後面說的textBox的問題應該是小窗體檢索畫面呼出處理吧
我認為妳應該讓小窗體「妳所說的第二個窗體」返回一個DataTable然後把這個DataTable與textBox綁定沒有 必要把訪問屬性改為public。

備註:textBox應該是指DGV外面那幾個textBox吧它和DGV有什麼關係呢

すばらしいコードを書き出すのは楽しい事です
2007-10-10 15:56
andey
Rank: 2
等 级:新手上路
威 望:4
帖 子:938
专家分:0
注 册:2007-7-18
收藏
得分:0 
crazymk:
前面的都没问题了..就是后面那个问题啦
我也搞不清它怎么会影响到它呢..
但结果确实这样..你的QQ多少?我的122768959:::
我在这里没法给你说清楚..我还是把源码发给你吧..你可能不会相信!!!
但确实是这样!!

msdn == 葵花宝典!!!
QQ:122768959
2007-10-10 16:01
crazymk
Rank: 1
等 级:新手上路
威 望:1
帖 子:343
专家分:0
注 册:2007-8-30
收藏
得分:0 
我公司裡是日文系統上不了QQ
妳應該具體說一下那幾個textBox在業務上的作用。以及關於小窗體檢索後的結果綁定過程。還有妳要解決的問題。

すばらしいコードを書き出すのは楽しい事です
2007-10-10 16:08
andey
Rank: 2
等 级:新手上路
威 望:4
帖 子:938
专家分:0
注 册:2007-7-18
收藏
得分:0 
界面如图..上面的黑线条其实是画上去的!真正的控件是textBox..textBox绑定的public static 的dataTable...
下面的dataGridView和上面的原理一样,只是两个控件不一样罢了!!!双击(或者Enter)上面的textBox.就会弹出相应的窗体,窗体里也有dataGridView控件连接数据库以获取数据,,然后双击某行选择数据...送给绑定在textBox上的dataTable...来实现数据的跨窗体传递!!!开始都没发现什么问题,一切正常..正当我高兴的时候,,突然..我编辑了下面的dataGridView的一个单元格(和textBox在同一窗体的dataGridView,也就是如图中的dataGridView).然后Enter..焦点后移..还没发现问题..当我关闭再打开(该窗体是从另一个窗体单击按钮产生的,不是直接运行后产生的..因为重新运行调试没问题..但是关闭该窗体再打开还说有问题,,不知道你听明白没..MainForm-->该窗体-->选择窗体 ..三层窗体..)就发现什么也没传过来!!!可郁闷啦..然后重新调试..没问题..但是如果..先编辑..再操作textBox..出现问题啦..我也纳闷怎么会影响到它呢???奇怪!!

msdn == 葵花宝典!!!
QQ:122768959
2007-10-10 16:26
crazymk
Rank: 1
等 级:新手上路
威 望:1
帖 子:343
专家分:0
注 册:2007-8-30
收藏
得分:0 

了解了。
單步斷點跑吧。從妳在小窗體選擇數據開始下個斷點跑。
給我的感覺是妳的窗體呼出模式的問題。應該是一個既存問題和編輯不編輯DGV沒什麼關係。


すばらしいコードを書き出すのは楽しい事です
2007-10-10 16:49
andey
Rank: 2
等 级:新手上路
威 望:4
帖 子:938
专家分:0
注 册:2007-7-18
收藏
得分:0 
但是.如果我的textBox不绑定dataTable..而是直接改成public static 属性...
在小窗体里..直接给textBox的Text属性赋值..就没有问题啦..难道是DataTable的问题?还是?..

msdn == 葵花宝典!!!
QQ:122768959
2007-10-10 17:18
crazymk
Rank: 1
等 级:新手上路
威 望:1
帖 子:343
专家分:0
注 册:2007-8-30
收藏
得分:0 
小窗體應該用ShowDialog呼出就應該沒有問題。因為ShowDialog程序會停在這裡直到小窗體關閉再繼續執行

下班咯!

[此贴子已经被作者于2007-10-10 17:34:06编辑过]


すばらしいコードを書き出すのは楽しい事です
2007-10-10 17:32
快速回复:[求助]DataGridView的一个超级变态的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018626 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved