Pandoraの開発日記

~日々の開発の中で悩んでいる問題や簡単なTips~

目次

Blog 利用状況

書庫

日記カテゴリ

コミュニテイサイト

過去日記

解決!

昨日、悩んでいた CurrentCell  に正しい値を設定する件は、ひとまず解決しました。(^^♪

妥当な方法か解らないが、色々調査した結果から判断しました。

公開されているプロパティ・メソッドで CurrentCell に大きく影響を与えるのは、DataMember,DataSource である。

バインディングした後で、バインディングデータが変化し、更新するために、再度、バインディングしようとすると

変化した値が反映されない。

この問題の対策としては、DataMember を再度設定すると正しく反映される。

しかし、バインディングする際に表示されるデータが1件もない場合(CurrentCell がnull になる場合)には、

上記の方法だけでは、ダメで、表示はされるが、下記の問題が発生している。

 ・CurrentCell は変化せず null のままである。

その対策として、バインディングした際に CurrentCell が null であれば、 DataMember もクリアする。

再度、バインディングしようとする際に、DataMember を再度設定すると正しく反映される。

毎回、その作業を行うのは負担があるので、この対策を含んだメソッドを基本となる DataGridView に

作成して対応するようにしました。

下記に作成したソースを記載しておきます。

#region データソースの設定を行う。
public void SetDataSource(object dataSource)
{
    if(this.DataMember==""){return;}
    if(dataSource==null){return;}

    this.DataSource = dataSource;
    this.saveDataMember  = this.DataMember;
  
    if(this.CurrentCell!=null){return;} 
    this.DataMember = "";
}
#endregion

#region データソースの更新を行う。
public void UpdateDataSource(object dataSource)
{
    if(this.saveDataMember==""){return;}
    this.DataMember = "";
    this.DataMember = saveDataMember;
}
#endregion

投稿日時 : 2007年1月27日 18:59

コメントを追加

# vajZkkJLPmawx 2021/07/03 2:55 https://amzn.to/365xyVY

just me or do some of the comments look like they are

# erectile coffee 2021/07/12 7:57 hydroxychloroquine meaning

hydrochlorique https://plaquenilx.com/# quinine for lupus

# re: ??! 2021/07/15 16:21 hydroxychloroquine 200mg

is chloroquine a sulfa drug https://chloroquineorigin.com/# hydroxychloroquine 200 mg tablets

# jihlwbexqscf 2022/05/21 8:00 gfvagrys

erythromycin topical solution http://erythromycin1m.com/#

タイトル
名前
URL
コメント