- PR -

Windowsアプリケーションのdatagridのセルの内容が残る

1
投稿者投稿内容
kkk
常連さん
会議室デビュー日: 2004/09/17
投稿数: 33
投稿日時: 2005-03-07 21:28
お疲れ様です。件名について、大変困っています。
関連情報ありましたら教えてください。
以下が詳細な内容です。

vb.netにてWindowsアプリを開発しています。
テーブルメンテ画面ですが、テーブルデータをdatagridにて一覧表示しています。このdatagridは参照用でreadonlyです。
このデータグリッドにて、任意のセルを選択した後、検索ボタン押下で、datagridの表示内容を再描画するのですが、このとき、検索前に選択していたセルの内容が残像のように残ってしまいます。その後ほかのセルをクリックすると消えます。

このような、特異な動きであり、直す手立てを考え出すのに苦慮しています。
何か関連した情報がありましたら、ご指導願います。
nicima
会議室デビュー日: 2005/01/14
投稿数: 5
投稿日時: 2005-03-08 15:39
こんにちは。NICIMAです。

.NetFramework1.1にSP1を当てた時からその現象(だと思う)が出るようになりました。
今のところ検索ボタンを押した時に以下のようなコードで逃げていますが、
もっと正しい方法があるような気がします。
(違う現象だったらごめんなさい)

以下C#のコードですが・・・。
コード:
foreach(DataGridColumnStyle dgcs in this.tableStyle1.GridColumnStyles) {
    if( dgcs is DataGridTextBoxColumn )
        ((DataGridTextBoxColumn) dgcs).TextBox.Visible = false;
}

Mecky
会議室デビュー日: 2005/03/07
投稿数: 9
投稿日時: 2005-03-08 16:55
参考までに、OSは何をお使いでしょうか?
以前、XPでは同事象が出たけど、2000では出なかった、ということがありました。
nicima
会議室デビュー日: 2005/01/14
投稿数: 5
投稿日時: 2005-03-08 17:44
技術情報出てました。
http://support.microsoft.com/default.aspx?scid=kb;en-us;890211
(右上のArticle Translationsから日本語翻訳が見れます(苦しいけど))
私のケースはこれです。対象は.NetFramework1.1のSP1となっており、
.NetFramework1.1のSP1の問題だと認識していると書かれています。
で、基本的には次のサービスパックを待ってくれとあり、
どうしてもhotfixが必要ならば、プロダクトサポートにコンタクトを
とも書かれています。
ちなみに私はXP-ProのSP2を使用しています。
泳げない魚
会議室デビュー日: 2005/06/02
投稿数: 17
投稿日時: 2005-06-02 11:42
VBの場合:

Public Class DataGridTextBoxReadonlyColumn
Inherits DataGridTextBoxColumn

Public Sub New()
End Sub

Protected Overloads Overrides Sub Edit( _
ByVal source As System.Windows.Forms.CurrencyManager, _
ByVal rowNum As Integer, _
ByVal bounds As System.Drawing.Rectangle, _
ByVal [readOnly] As Boolean, _
ByVal instantText As String, _
ByVal cellIsVisible As Boolean)
MyBase.Edit(source, rowNum, bounds, [readOnly], _
instantText, cellIsVisible)
'TextBoxを非表示するする
TextBox.Visible = False
End Sub

End Class
1

スキルアップ/キャリアアップ(JOB@IT)