Есть страница добавления человека в базу данных (фио, адрес и т.д), также есть 4 типа телефонных номеров (рабочий, городской и др.). Мне необходимо сделать добавление нескольких телефонных номеров разных типов (2 мобильных, 3 рабочих например). Я хочу сделать это посредством компонента GridView и листом. То есть на странице добавление есть пустой грид без привязки к данным, два столбца с типами combobox и text, в комбобоксе типы телефонов (4 штуки). Как мне сделать так, чтобы я заполнил таблицу номерами (посредством встроенных функций грида, создание, сохранение и т.д) чтобы при сохранении номеров они сохранялись в пусто заранее подготовленным листом. Я просто не знаю как конкретно вытащить из текстового поля который внутри грида, где вводится номер и присвоить ему нужный тип из комбобокса и значение закинуть в переменную в листе.
Компонент ASPxGridView от DevExpress'a.
Нужно работать не с самим гридом (который просто отображает данные), а с этими самыми данными (моделями строк). Допустим, в простейшем случае можно использовать такую модель:
public class PhoneNumber {
public string Name {get; set;}
public string Number {get;set;}
}
Тогда, все что введет пользователь в соответствующие редакторы, будет записано в свойства модели, откуда эти данные можно легко прочитать.
Так как вы намерены сами заполнять грид данными, а не читать их из базы данных, то для привязки моделей к гриду подойдет компонент ObjectDataSource. Этот компонент полностью совместим с гридом, и в MSDN есть несколько подробных примеров, демонстрирующих как реализовать методы, которые будут автоматически вызываться для заполнения грида данными, или для сохранения изменений внесенных пользователем, если грид редактируемый.
В этих самых методах, вы будете работать только лишь с моделями, полностью абстрагируясь от грида. А значит, ваш код будет одинаково хорошо работать как и с гридом, так и с любым другим компонентом который поддерживает стандартные DataSource компоенты вообще, и ObjectDataSource в частности.
В любом случае, другого способа нет, так как грид не работает сам по себе. Только в связке с каким-нибудь DataSource. В качестве источника данных можно использовать в принципе что угодно, даже просто List. Но стандартные ASP.NET компоненты дают больше возможностей.
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости