Я хочу отобразить список людей в DataGridView
в приложении Windows Forms. Я хочу, чтобы мой уровень обслуживания возвращал список объектов Person (например, IList
). Я хочу, чтобы изменения в списке отражались в DataGridView
и наоборот. Насколько я понимаю, использование BindingSource
облегчает работу с DataGridView
. Мой вопрос заключается в том, чтобы двусторонняя привязка данных работала, мне нужно:
//pseudo code
BindingSource.DataSource = IBindingList
или я могу сделать:
BindingSource.DataSource = IList
В чем разница? Если я внесу изменения в список, будет ли обновляться DataGridView
в любом случае? И если мне нужно использовать BindingList
,
http://msdn.microsoft.com/en-us/library/ms132679.aspx :
«Однако типичные решения программист будет использовать класс, который обеспечивает функциональность привязки данных, например
BindingSource
вместо не хочу этого.Кнопки вызывают следующие функции:
// This displays the overlay (popup) function showCategoryPopup() { // Was playing with the following, but with no success. // popupCategory.style.display = "block"; // popupCategory.style.visibility = "visible"; // Change the attributes that will be animated. popupCategory.style.opacity = 1; popupCategory.style.webkitTransform = "scale(1.0)"; } function hideCategoryPopup() { // Change the animated attributes popupCategory.style.opacity = 0; popupCategory.style.webkitTransform = "scale(0.7)"; // Even if opacity is 0, we still get mouse events. So, make it hidden? // popupCategory.style.visibility = "hidden"; // popupCategory.style.display = "none";
}
Класс CSS для наложения следующий:
.popupContainer { opacity: 0; -webkit-transform: scale(0.7); -webkit-transition-duration: 0.3s; -webkit-transition-timing-function: ease-in-out; -webkit-transition-delay: initial; }
Если я вообще не использую параметры видимости или отображения, анимация в порядке, но События mouseClick запускаются для невидимых элементов.
Если я использую блоки, он включается / выключается без анимации.
Если я использую стиль отображения, он вроде работает, но вместо того, чтобы сразу отображать анимацию, он запускается только один раз, когда какое-то другое событие на странице запускается, как и другая кнопка в другом месте страницы.
Я подумал, может быть, добавить «указатель-события: нет» к стилю, используемому всплывающим div после его скрытия, но то, что я спрашиваю for кажется чем-то, с чем вы часто сталкиваетесь с непрозрачностью, так что это должна быть нечастая проблема.
Мысли?