Я лично добавлю конструктор в Dog:
class Dog
{
public Dog()
{ ... } // Regular constructor
public Dog(Dog dog) {
// Copy all the fields of Dog.
}
}
Затем просто повторите (как показано в ответе Вархана):
public static List<Dog> cloneList(List<Dog> dogList) {
List<Dog> clonedList = new ArrayList<Dog>(dogList.size());
for (Dog dog : dogList) {
clonedList.add(new Dog(dog));
}
return clonedList;
}
Я нахожу преимущество это вам не нужно вкручивать со сломанным клонированным материалом на Java. Это также соответствует тому, как вы копируете коллекции Java.
Еще одна возможность - написать собственный интерфейс ICloneable и использовать его. Таким образом, вы можете написать общий метод клонирования.
Вы можете установить формат данных столбца, используя свойство Format
его свойства DefalutCellStyle
столбца.
Например, чтобы использовать формат валюты для второго столбца DataGridView
с использованием текущей культуры, вы можете использовать такой код:
grid1.Columns[1].DefaultCellStyle.Format = "c";
Или, например, для использования определенной культуры и Определенные десятичные числа:
grid1.Columns[1].DefaultCellStyle.Format = "c2";
grid1.Columns[1].DefaultCellStyle.FormatProvider = CultureInfo.GetCultureInfo("en-GB");
Дополнительная информация:
Создавать столбцы DataGridView во время разработки и устанавливать формат цены только для столбца текущей цены Учебник Datagridview
Установить формат DateTime в DataGridView Эта ссылка рассматривается как настройка формата даты, просто измените формат даты для формата валюты.