Привязка DataGridView к Списку <>, некоторые свойства Should не быть показанным

Слегка измененная версия ответа от Будидино. Эта реализация также правильно обрабатывает отрицательные posX и posY.

extension UIImage {
    func overlayWith(image: UIImage, posX: CGFloat, posY: CGFloat) -> UIImage {
        let newWidth = posX < 0 ? abs(posX) + max(self.size.width, image.size.width) :
            size.width < posX + image.size.width ? posX + image.size.width : size.width
        let newHeight = posY < 0 ? abs(posY) + max(size.height, image.size.height) :
            size.height < posY + image.size.height ? posY + image.size.height : size.height
        let newSize = CGSize(width: newWidth, height: newHeight)

        UIGraphicsBeginImageContextWithOptions(newSize, false, 0.0)
        let originalPoint = CGPoint(x: posX < 0 ? abs(posX) : 0, y: posY < 0 ? abs(posY) : 0)
        self.draw(in: CGRect(origin: originalPoint, size: self.size))
        let overLayPoint = CGPoint(x: posX < 0 ? 0 : posX, y: posY < 0 ? 0 : posY)
        image.draw(in: CGRect(origin: overLayPoint, size: image.size))
        let newImage = UIGraphicsGetImageFromCurrentImageContext()!
        UIGraphicsEndImageContext()

        return newImage
    }
}
6
задан MoonKnight 4 March 2014 в 15:28
поделиться

3 ответа

Если вы никогда не хотите, чтобы это свойство отображалось:

class MyObject
{
    public string Property1 { get; set; }
    [Browsable(false)]
    public string Property2 { get; set; }
}

В противном случае, как уже говорилось, установите для AutoGenerateColumns значение false и добавьте их вручную.

9
ответ дан 9 December 2019 в 22:39
поделиться

похоже, что для свойства AutoGenerateColumns вашего элемента управления DataGridView установлено значение True. Вы можете установить для него значение False или использовать метод .Columns.Remove, чтобы удалить столбец, который вы не хотите видеть.

2
ответ дан 9 December 2019 в 22:39
поделиться

Я считаю, что вам нужно настроить столбцы вручную, как сказал Хенк. Однако вы можете захотеть установить больше свойств, чем в его примере. Вот что я сделал в своем проекте:

DataGridView dataGridView = new DataGridView();
dataGridView.AutoGenerateColumns = false;

DataGridViewColumn columnA = new DataGridViewTextBoxColumn();
columnA.DataPropertyName = "propertyA";
columnA.HeaderText = "Column A";
columnA.Name = "columnA";

DataGridViewColumn columnB = new DataGridViewTextBoxColumn();
columnB.DataPropertyName = "propertyB";
columnB.HeaderText = "Column B";
columnB.Name = "columnB";

dataGridView.Columns.Clear();
dataGridView.Columns.Add(columnA);
dataGridView.Columns.Add(columnB);
dataGridView.AutoResizeColumns();

Я считаю, что вышесказанное работает. Если вы получите странное исключение, убедитесь, что для столбцов / ячеек определены стили ячеек по умолчанию.

0
ответ дан 9 December 2019 в 22:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: