3

C#.netWindowsアプリケーションでDevExpressXtragridコントロールを使用しています。

グリッドの最初のセルに値を入力し、2番目のセルに移動すると、最初のセルに入力した値が消えます。

セルに入力された値を保持するにはどうすればよいですか?

4

2 に答える 2

1

これを gridView (Xtragrid) のバインドされていない列に使用していると想定しています。最初のステップは、列のプロパティに移動し、UnboundTypeプロパティ値をその列に入力するデータ型に変更することです。以下の例を参照してください。を使用しdoubleます。

CustomUnboundColumnDataイベントを gridView に割り当てます。gridView に入力する値を保持するクラス レベルの変数 (以下のコード サンプルでは _userEnteredData という名前) を宣言してから、次のコードを追加してください。変数名:

クラスレベルの変数宣言:

private double _userEnteredData = 0;

今イベント:

private void gridView1_CustomUnboundColumnData(object sender, DevExpress.XtraGrid.Views.Base.CustomColumnDataEventArgs e)
{
    if (e.Column == gridColumn_YourColumn && e.IsSetData)
    {
        _userEnteredData = Convert.ToDouble(e.Value);
    }
    else if (e.Column == gridColumn_YourColumn && e.IsGetData)
    {
        e.Value = _userEnteredData;
    }
}

これが役立つことを願っています。

ここから詳細を取得できます: http://documentation.devexpress.com/#WindowsForms/CustomDocument1477

于 2012-08-23T00:35:08.697 に答える
1

いくつかの可能性:

  • 編集した列の FieldName プロパティを確認してください。タイプミスがある可能性があるため、グリッドは入力された値を基になるデータソースに渡しません
  • 列にバインドされるプロパティには、パブリック セッターが必要です。ゲッターしかない場合、グリッドも入力された値を保存できません
  • グリッド列の ColumnOptions.ReadOnly プロパティを確認してください - false に設定する必要があります

お役に立てれば

于 2010-01-26T07:54:25.373 に答える