親子関係を持つテーブルとバインドしている時、UseDefaultDataの設定が無効になる場合がある
対象製品
El Tabelle MultiRow 4.0J
発生環境
この現象は、次のファイルバージョンのアセンブリで発生します。
v4.0.2007.0518 および以前のアセンブリ
v4.0.2007.0518 および以前のアセンブリ
状況
修正済み
詳細
親子関係を持つテーブルとバインドしている時、UseDefaultDataの設定が無効になる場合があります。
次の条件で、本現象が発生します。
1.UseDefaultDataプロパティにTrueを設定する。
2.AllowUserToAddMRowsプロパティにTrueを設定する。
3.親のテーブルを操作する。
次の条件で、本現象が発生します。
1.UseDefaultDataプロパティにTrueを設定する。
2.AllowUserToAddMRowsプロパティにTrueを設定する。
3.親のテーブルを操作する。
回避方法
この現象は、ファイル バージョン v4.0.2007.0629 以降のアセンブリで修正されています。v4.0.2007.0629 のホットフィックス(HotFix)は、こちらから取得できます。
または次の方法で回避します。
バインディングソースのListChangedイベントなどで次のソースを追加する
VB
C#
または次の方法で回避します。
バインディングソースのListChangedイベントなどで次のソースを追加する
VB
'bs バインディングソース
Private Sub bs_ListChanged(ByVal sender As Object, ByVal e As ListChangedEventArgs)
' 新規行のデフォルト値が描画されない問題の回避策
MultiRowSheet1.Redraw = False
MultiRowSheet1.AllowUserToAddMRows = False
MultiRowSheet1.AllowUserToAddMRows = True
MultiRowSheet1.Redraw = True
End Sub
Private Sub bs_ListChanged(ByVal sender As Object, ByVal e As ListChangedEventArgs)
' 新規行のデフォルト値が描画されない問題の回避策
MultiRowSheet1.Redraw = False
MultiRowSheet1.AllowUserToAddMRows = False
MultiRowSheet1.AllowUserToAddMRows = True
MultiRowSheet1.Redraw = True
End Sub
C#
//bs バインディングソース
private void bs_ListChanged(object sender, ListChangedEventArgs e)
{
// 新規行のデフォルト値が描画されない問題の回避策
multiRowSheet1.Redraw = false;
multiRowSheet1.AllowUserToAddMRows = false;
multiRowSheet1.AllowUserToAddMRows = true;
multiRowSheet1.Redraw = true;
}
private void bs_ListChanged(object sender, ListChangedEventArgs e)
{
// 新規行のデフォルト値が描画されない問題の回避策
multiRowSheet1.Redraw = false;
multiRowSheet1.AllowUserToAddMRows = false;
multiRowSheet1.AllowUserToAddMRows = true;
multiRowSheet1.Redraw = true;
}
キーワード
ETMR06123
この文書は、以前は次のバグレポートIDで公開されていました : 7022