Я не слишком много работал с GridView, и после того, как ты его обманывал, считай, что он более сложный, чем мне нужно, но не хватает некоторых основных способностей, которые я ожидал бы от него. Несомненно, его реализация имеет смысл, учитывая 90-процентную цель привязки к набору данных, особенно когда это делается декларативно, но я намерен связать его с кодом IEnumerable<T>
.Должен ли я написать свою собственную реализацию GridView?
Что мне нужно это умение сделать легко следующие
- а) быть связан с
IEnumerable<T>
, где столбцы могут быть ограничены только определенными свойствами типаT
- б) быть запрошены, чтобы вернуться совокупность ее строк, где каждая строка может иметь ячейку посмотрела свойство, что клетка была связана с
в основном что-то реализует следующий интерфейс будет хорошо
public interface IEasyGridBinder {
void Bind<T>(IEnumerable<T> bindableObjects, params string[] propertiesToBind);
IList<IDictionary<string, string>> Values {get;}
}
Так, чтобы получить это, я должен написать свой собственный EasyGridBinder, который наследуется от GridView и реализует этот интерфейс или есть очень простой способ, чтобы сделать эти вещи, которые я просто не знаком с?
P.S. Бонусные баллы, если я могу написать что-то вроде
myGrid.Bind(myEntities, e=>{e.Id; e.Name; e.Customer.Name;});
Но я полагаю, я могу понять, что из себя после прочтения на выражения
последующий вопрос: Нет ли способ, чтобы получить исходные данные, которые был введен в gridview и не был преобразован в html? Если поле, полученное в качестве входных данных, содержит пустую строку, ячейка, по-видимому, содержит « », поэтому нет способа различать ввод пустой строки и пробела? Если это действительно так, то я, вероятно, вернусь к реализации большинства функций GridView.
Я действительно шокирован тем, что никто не имеет хорошего решения этой проблемы. Наверное, сегодня у меня есть какая-то работа впереди, это блокировало мою демо на несколько дней. Вероятно, я выпущу его позже в коде google –