Mam DataGrid
. Ale chcę uzyskać skoncentrowaną wartość komórki w wydarzeniu CopyingRowClipboardContent
. Ale e.ClipboardRowContent
zwraca mi wszystkie wybrane wartości komórek ze względu na SelectionUnit
. I nie mogę zmienić jednostki wyboru datagridu. Aby rozwiązać problem, muszę uzyskać skoncentrowany numer kolumny komórki. Następnie usunę wszystkie wartości kolumn z clipboarcContent
. Jak mogę uzyskać skoncentrowaną komórkę w wydarzeniu CopyingRowClipboardContent
?Jak skopiować wartość komórki DataGrid do schowka
6
A
Odpowiedz
11
Ulepszona wersja odpowiedzi farhad za
private void DataGrid_CopyingRowClipboardContent(object sender, DataGridRowClipboardEventArgs e)
{
var currentCell = e.ClipboardRowContent[ dataGrid.CurrentCell.Column.DisplayIndex];
e.ClipboardRowContent.Clear();
e.ClipboardRowContent.Add(currentCell);
}
1
Znajduję rozwiązanie. Przede wszystkim potrzebowałem numeru kolumny skupionej komórki. Udało mi się dostać z tym kodem:
DataGridResults.CurrentCell.Column.DisplayIndex;
Następnie w CopyingRowClipboardContent
razie muszę usunąć wszystkie inne wartości kolumn.
private void DataGridResults_CopyingRowClipboardContent(object sender, DataGridRowClipboardEventArgs e)
{
int y = 0;
for (int i = 0; i < e.EndColumnDisplayIndex; i++)
{
if (i != DataGridResults.CurrentCell.Column.DisplayIndex)
{
e.ClipboardRowContent.RemoveAt(i - y);
y++;
}
}
}
4
Możesz również użyć następującego kodu w schowku sterującym zamówieniem.
Clipboard.SetText("some value");
1
Okazało się, że to rozwiązanie pracował dla mnie na wszystkich datagrids; nawet te, które miały ukryte kolumny.
// Clipboard Row content only includes entries for visible cells
// Figure out the actual column we are looking for (taking into account hidden columns)
int columnIndex = dataGrid.CurrentCell.Column.DisplayIndex;
var column = dataGrid.Columns[columnIndex];
// Find the associated column we're interested in from the clipboard row content
var cellContent = clipboardRowContent.Where(item => item.Column == column).First();
clipboardRowContent.Clear();
clipboardRowContent.Add(cellContent);
Powiązane problemy
- 1. Jak zastosować styl komórki do DataGrid komórki
- 2. Jak skopiować do schowka za pomocą GWT?
- 3. Jak skopiować textField do schowka systemu OSX?
- 4. Jak skopiować do schowka w F #?
- 5. Jak skopiować ciąg do schowka w C?
- 6. jak skopiować zawartość pliku jtable do schowka
- 7. Jak skopiować do schowka obecną ścieżkę?
- 8. Jak skopiować linię do schowka w Eclipse?
- 9. WPF Datagrid Uzyskaj wybraną wartość komórki
- 10. WPF DataGrid wartość komórki zmienione zdarzenie
- 11. Uzyskiwanie wartość komórki w DataGrid w WPF
- 12. DataGridView: Kopiowanie zakończone do schowka
- 13. polecenie Cygwin skopiować do schowka Windows
- 14. Jak skopiować zarówno HTML, jak i tekst do schowka?
- 15. Jak skopiować obraz i tekst do schowka jako jeden obiekt?
- 16. Jak skopiować i wkleić dane do R ze schowka?
- 17. Jak skopiować obraz PNG do schowka przy użyciu Delphi
- 18. Jak programowo skopiować asynchroniczną zależną zawartość do schowka po kliknięciu?
- 19. Jak skopiować sformatowany kod do schowka w kodzie VS
- 20. Jak skopiować dane do schowka za pomocą Greasemonkey?
- 21. Scal komórki w WPF DataGrid
- 22. WPF DataGrid Trigger na zawartość komórki
- 23. Kopiowanie tekstu do schowka za pomocą Java
- 24. iPhone skopiować coś do schowka za pomocą kodu
- 25. Dlaczego nie można skopiować pliku danych do schowka?
- 26. jak wstawić wartość do komórki DataGridView?
- 27. Skopiuj zakres do schowka
- 28. Zmiana kierunku przepływu komórki w DataGrid Wpf
- 29. WPF DataGrid - Databind do komórki DataTable w CellTemplates DataTemplate
- 30. Jak kopiować dane do schowka w C#
Dzięki, jest również przydatny. –