Почему linq LinqServerModeData не работает? - PullRequest
1 голос
/ 27 июля 2010

Я работаю с базой данных Northwind

<dxwgv:ASPxGridView ID="ASPxGridView1" runat="server" 
        AutoGenerateColumns="False" DataSourceID="LinqServerModeDataSource1" 
        KeyFieldName="CategoryID">
        <Columns>
            <dxwgv:GridViewCommandColumn VisibleIndex="0">
                <EditButton Visible="True">
                </EditButton>
                <NewButton Visible="True">
                </NewButton>
                <DeleteButton Visible="True">
                </DeleteButton>
            </dxwgv:GridViewCommandColumn>
            <dxwgv:GridViewDataTextColumn Caption="CategoryID" FieldName="CategoryID" 
                VisibleIndex="1">
            </dxwgv:GridViewDataTextColumn>
            <dxwgv:GridViewDataTextColumn Caption="CategoryName" FieldName="CategoryName" 
                VisibleIndex="2">
            </dxwgv:GridViewDataTextColumn>
            <dxwgv:GridViewDataTextColumn Caption="Description" FieldName="Description" 
                VisibleIndex="3">
            </dxwgv:GridViewDataTextColumn>
        </Columns>
  </dxwgv:ASPxGridView>

 <dxdtlnq:LinqServerModeDataSource ID="LinqServerModeDataSource1" runat="server" 
        onselecting="LinqServerModeDataSource1_Selecting" />

Код C #:

protected void LinqServerModeDataSource1_Selecting(object sender, DevExpress.Data.Linq.LinqServerModeDataSourceSelectEventArgs e)
{
     NorthwindDataContext db=new NorthwindDataContext();
     var r = db.Categories
         .Select(p => new { p.CategoryID, p.CategoryName, p.Description });                             
    e.QueryableSource = r;
}

После запуска код покажет мне ошибку:

Выражение ключаundefined **

Почему возникает эта проблема?Как решить эту проблему?

1 Ответ

0 голосов
/ 25 апреля 2011

как показано на этой ссылке: http://community.devexpress.com/forums/p/93356/321015.aspx вы должны назначить e.KeyExpression = "UniqueIdColumn";

...