0

私がする必要があるのは、dgvにロードされる前にデータをキャプチャし、プロパティの1つを変更することです。私が今持っているのは、DataSource私のdgvのを作成するために使用しているジェネリックメソッドです。

dgv.DataSource = new SortableBindingList<T>(result.ResultEntities);

そして、私がやりたいのは、このデータを取得し、必要な方法で操作してから、変更されたデータを返して、にロードすることdgvです。

私はこれを行うだけでこれを達成しようとしました:

SortableBindingList<MyType> someVar = (SortableBindingList<MyType>)dgvMydgv.DataSource;

まあ、それはこれを行う方法ではないようです。

4

1 に答える 1

1

sortableBindingListなどのローカル変数をdatagridviewにバインドすると、datagridデータが正常にバインドされた後はアクセスできなくなります。「DataBound()」-イベントが発生した後、データソースはNULLになります。

ご参考までに:

をdatagridviewにバインドするSqlDataSourceと、データソースをバインドした後にsortablebindinglistをエクスポートできます。

すべての行のすべての列を読み取り、それを新しく定義されたsortablebindinglistに保存してから、データソースをグリッドビューに再バインドする必要があります。

foreach (GridViewRow gvrMyRow in gvFields.Rows)
{
     foreach (TableCell tcMyCell in gvrMyRow.Cells)
     {
         string sMyValue = tcMyCell.Text;
     }
}

覚えておいてください:

元の記入済みリストへの参照を維持するのが通常の方法であり、この方法で達成する必要があります。エントリの検索、エントリの操作などが簡単になります。

于 2013-02-20T14:43:28.927 に答える