0

私はこのlを持っており、1つはaを含み、もう1つは通常のカテゴリの説明DevExpress GridControを含む2つの列を追加しました。repositoryItemCheckEditstring

これrepositoryItemCheckEditで、プロパティセクションでバインドされていないブール値を作成し、trueで起動するイベントを追加しましたがgridView1_CustomUnboundColumnData、チェックボックスをクリックするとtrueになることはありません。誰かがこれがなぜであるか説明できますか?ありがとうe.IsGetDatae.IsSetData

private void gridView1_CustomUnboundColumnData(object sender, CustomColumnDataEventArgs e)
{
  if (e.IsGetData)
  {
    string itemKey = ((CategoryTable)(gridControl1.ViewCollection[0]).GetRow(e.RowHandle)).Category;
    if (AddressDoc == itemKey) e.Value = true
    else e.Value = false;
  }

  if (e.IsSetData)
    AddressDoc = ((CategoryTable)(gridControl1.ViewCollection[0]).GetRow(e.RowHandle)).Category;
}
4

1 に答える 1

0

当社のWebサイトに公開されているナレッジベースの記事が変更されたらすぐに、[インプレースの値を保存する方法]チェックボックスの解決策を試してください。この問題の解決に役立つはずです。また、コードを確認しましたが、安全ではないようです。私はそれを次のように変更します:

private void gridView1_CustomUnboundColumnData(object sender, CustomColumnDataEventArgs e) {
            GridView gridView = sender as GridView;
            DataView dv = gridView.DataSource;
            object c = DataView[e.ListSourceRowIndex]["Category"];
            string itemKey = c == null ? "" : c.ToString();
            if (e.IsGetData) {
                if(AddressDoc == itemKey)
                    e.Value = true;
                else 
                    e.Value = false;
            }
            if(e.IsSetData)
                AddressDoc = itemKey;
        }

バインドされていない列を適切に調整しなかったとしか思えません。注:列をバインド解除するには、次の2つの必須条件を満たす必要があります。1)FieldNameは、他のGridView列のfieldNameプロパティの中で一意の値に設定する必要があります。2)列のUnboundTypeは非Bound値に設定する必要があります。

于 2011-04-06T06:59:23.543 に答える