В моей базе данных есть таблица Имена пользователей с полями:
Id
FirstName
LastName
LoginName
Теперь я хотел бы представить эту таблицу в ASPxGridView
, используя LinqServerModeDataSource
.
То, что я сделал, это:
<dxdtlnq:LinqServerModeDataSource ID="LinqServerModeDataSource1" runat="server" OnSelecting="LinqServerModeDataSource1_OnSelecting"
ContextTypeName="MyContext" EnableDelete="True"
EnableInsert="True" EnableUpdate="True" TableName="Users" >
</dxdtlnq:LinqServerModeDataSource>
protected void LinqServerModeDataSource1_OnSelecting(object sender, LinqServerModeDataSourceSelectEventArgs e)
{
MyContext context = new MyContext();
var qry = from s in context.Users select s;
e.QueryableSource = qry;
}
Это прекрасно работает с моим ASPxGridView. Я могу отображать данные, вставлять и удалять, но теперь я хотел бы иметь дополнительный столбец UserName
, который является FirstName
+ LastName
.
Итак, я сделал что-то подобное:
Добавлен соответствующий столбец в мой ASPxGridView (FieldName = "UserName")
и модифицированный обработчик OnSelecting:
protected void LinqServerModeDataSource1_OnSelecting(object sender, LinqServerModeDataSourceSelectEventArgs e) {
KozuModelDataContext context = new MyContext();
var qry = (from s in context.Substitutions
select new
{
Id = s.Id,
FirstName = s.FirstName,
LastName = s.LastName,
LoginName = s.LoginName,
UserName = s.FirstName + " " + s.LastName,
}).AsQueryable();
e.KeyExpression = "Id";
e.QueryableSource = qry;
}
Теперь данные в сетке отображаются, но когда я хочу вставить или редактировать поля данных не могут быть заполнены, текстовые поля не отвечают при вставке формы, я не могу ввести любой текст.
Есть ли какое-либо решение для вставки и редактирования данных таким образом?
Спасибо за помощь