Я нахожусь в проекте, где базовый элемент управления представляет собой DatagridView, в нем отображаются количества производственных величин, каждая строка - это бах на производственном процессе, и каждый столбец является типом продукта в Баш.Добавление свойств к одному DatagridViewCell
У каждого Bash есть время для завершения процесса, когда время заканчивается, ячейка в строке должна быть окрашена, тогда у пользователя есть возможность добавить больше времени, если это необходимо для каждого отдельного продукта.
Так что мое предложение было добавление к каждому объекту Cell два свойства
- Состояние продукта Баша (INT).
- Длительное время в минутах (int 0 по умолчанию).
Так что я создаю свои DataGridViewCell таким образом
public class PedidosCell : DataGridViewCell
{
private int _estado;
private int _tiempo;
public int Estado
{
get { return _estado; }
set { _estado = value; }
}
public int TiempoExtra
{
get { return _tiempo; }
set { _tiempo = value; }
}
}
После этого я создал Колум, который использует PedidosCell
public class PedidosColumn : DataGridViewColumn
{
public PedidosColumn()
: base(new PedidosCell())
{
}
public override DataGridViewCell CellTemplate
{
get
{
return base.CellTemplate;
}
set
{
// Ensure that the cell used for the template is a PedidosCell.
if (value != null &&
!value.GetType().IsAssignableFrom(typeof(PedidosCell)))
{
throw new InvalidCastException("Must be a PedidosCell");
}
base.CellTemplate = value;
}
}
Проблема начинается здесь, потому что, если я вызвать конструктор
PedidosColumn col = new PedidosColumn();
должное
col.CellTemplate.TiempoExtra
не существует; И это очевидно, потому что подмены CellTemplate возвращается первоначальный CellTemplate
Но как я могу это сделать (если это возможно), чтобы сделать простой dgView.Row[0].Cell[2].TiempoExtra
или dgView.Row[0].Cell[2].Estado
, чтобы получить информацию, что мне нужно знать, как будет colorated клетка?
Спасибо за помощь
это попытка в первом, но я использовал ИНТ [устройство], но я трудно, когда установить свойство, необходимое для извлечения всего массива и сохранить его в новый экземпляр, где хранилось свойства по индексу, а затем устанавливаюсь Арканзас Я возвращаюсь к тегу. Но я чувствовал, что может быть более естественным способом сделать получение его в качестве крема клетки собственности –
просто реализовать ваше предложение, я думаю, что он работал очень хорошо, лучше, чем ожидались, я использовал бы структуру, и это было удобно, чтобы извлечь и сохранить свойства и спасибо, спасибо, добавьте столько, сколько пожелаете. Ответ –
в Инглесе поможет много пользователей. Это очень бесполезно для неанглийских ораторов, которые посещают этот вопрос. Смотрите этот [мета] (http://meta.stackoverflow.com/questions/262014/how-to-deal-with-non-english-posts) пост для обсуждения – Junaith