私はDataGrid
を、既存のExcelシートに貼り付ける前にユーザーにプレビューする予定のVSTO-AddInの中のWPFウィンドウに実装しました。 CanUserSortColumns-Property
はtrue
に設定されているため、ユーザーは読み込まれてシートに貼り付けられる前に列を並べ替えることができます。しかし、DataGrid
からDataRows
を読み上げると、以下に示すように、元の位置に戻ります。ここでDataGridを読み込むときに並べ替えられた列の位置を保存するにはどうすればよいですか?
object[,] dataArray = new object[allRows, allCols];
for (int r = 0; r < allRows; r++)
{
DataRow row = ClientGrid.Rows[r];
for (int c = 0; c < allCols; c++)
{
dataArray[r, c] = row[c];
}
}
は私の質問です:この問題を解決する方法は、迅速な方法がありますか、少なくとも列表示の変更のたびにコード内の列の順序を並べ替えるために、列の表示指標の変化を追跡するために、注文?
私は既にDisplayIndex
のプロパティで何かを試してみましたが、吐き出した数字のハングアップはあまりありませんでした。
私は、DataGrid、データソースとデータバインディングを使用して、しばらく前に同じ問題を抱えていました。私はDataGridをあきらめ、ListViewを代わりに使用しました。しかし、セルを編集する必要がある場合は、WPFの「ItemsControl」がはるかに優れたソリューションになります。 – Bijan