RadGridに問題があります...私のaspxファイルで、ナビゲーションプロパティフィールドでグリッドの列値を設定する方法を教えてください。RadGridの列のナビゲーションプロパティの設定
私はエンティティを使用している、と私は私のグリッドがnullではその値が付属しています。この時点では別の表「ステージング」へのフィールド・プロセスの外部キー、
とテーブルSapDocumentsを持っています...
<MasterTableView GridLines="None" Width="100%" ViewStateMode="Disabled" CommandItemSettings-ShowExportToCsvButton="True"
CommandItemSettings-ShowAddNewRecordButton="false" CommandItemDisplay="Top">
<Columns>
<telerik:GridBoundColumn DataField="SequencialNumber" HeaderText="SequencialNumber"
UniqueName="SequencialNumber" SortExpression="SequencialNumber">
</telerik:GridBoundColumn>
<telerik:GridBoundColumn DataField="Priority" HeaderText="Priority" UniqueName="Priority"
FilterControlAltText="Filter Priority column" SortExpression="Priority" DataType="System.Int32">
</telerik:GridBoundColumn>
<telerik:GridBoundColumn DataField="Process" HeaderText="Staging" UniqueName="Process"
SortExpression="Process" FilterControlAltText="Filter Process column">
</telerik:GridBoundColumn>
<telerik:GridBoundColumn DataField="SupplierCode" HeaderText="SupplierCode" UniqueName="SupplierCode"
SortExpression="SupplierCode" FilterControlAltText="Filter SupplierCode column">
</telerik:GridBoundColumn>
<telerik:GridBoundColumn DataField="MessageStatus" HeaderText="MessageStatus" UniqueName="MessageStatus"
SortExpression="MessageStatus" FilterControlAltText="Filter MessageStatus column">
</telerik:GridBoundColumn>
<telerik:GridBoundColumn DataField="DocumentType" HeaderText="DocumentType" UniqueName="DocumentType"
FilterControlAltText="Filter DocumentType column" SortExpression="DocumentType">
</telerik:GridBoundColumn>
<telerik:GridDateTimeColumn UniqueName="InvoiceCreationDate" DataField="InvoiceCreationDate"
HeaderText="InvoiceCreationDate" FilterControlAltText="Filter InvoiceCreationDate column"
SortExpression="InvoiceCreationDate">
<FilterTemplate>
<telerik:RadDatePicker ID="RadDatePicker1" runat="server">
</telerik:RadDatePicker>
</FilterTemplate>
</telerik:GridDateTimeColumn>
<telerik:GridBoundColumn DataField="SupplierVatNumber" FilterControlAltText="Filter SupplierVatNumber column"
HeaderText="SupplierVatNumber" SortExpression="SupplierVatNumber" UniqueName="SupplierVatNumber">
</telerik:GridBoundColumn>
</Columns>
<ExpandCollapseColumn Visible="False">
<HeaderStyle Width="19px"></HeaderStyle>
</ExpandCollapseColumn>
<RowIndicatorColumn Visible="False">
<HeaderStyle Width="20px" />
</RowIndicatorColumn>
</MasterTableView>
<FilterMenu EnableImageSprites="False">
</FilterMenu>
<HeaderContextMenu CssClass="GridContextMenu GridContextMenu_Default">
</HeaderContextMenu>
</telerik:RadGrid
>
私はそのようにそれにアクセスすることができます....私のナビゲーションプロパティの値を持つものを2つの列の値を設定する必要があります。
- SapDocuments.Staging.Process;
SapDocuments.Priorities.Priority;
public List<SapDocuments> GetSapDocumentsByUser(string userName) { using (EscalonamentoFacturasEntities spDocs = new EscalonamentoFacturasEntities()) { //Não é permitido projecções select new... var documentsQuery = from sd in spDocs.SapDocuments join ua in spDocs.UsersAssign on new { sd.Staging.Process, sd.Priorities.Priority } equals new { ua.Process, ua.Priority } where ua.UserName == userName //ALterar User select sd; return documentsQuery.ToList();
の背後に私のコードはこれです:
private void LoadData()
{
//Popular dados na Radlist
SapDocumentsBO sapDocs = new SapDocumentsBO();
this.SapDocuments = sapDocs.GetSapDocumentsByUser(Page.User.Identity.Name.Substring(Page.User.Identity.Name.IndexOf("\\")+1));
RadGrid1.DataSource = this.SapDocuments;
}
protected void RadGrid1_NeedDataSource(object sender, Telerik.Web.UI.GridNeedDataSourceEventArgs e)
{
LoadData();
}
おかげで...私のDataGridのデータが付属しています...しかし、問題があるときにIテーブルSapDocuments、優先度(フィールド優先度)とステージング(フィールドプロセス)の間の関係を作成すると、これらのフィールドはSapDocumentsのナビゲーションプロパティになり、グリッドが読み込まれると、すべての列は優先度とプロセス以外の値を持ちます。手動でインスタンス化するのは正しいでしょうか? – Enjoy
あなたが読書を話していて、LazyLoadEnabledが真の場合、いいえ、手動でインスタンス化する必要はありません。何が起こっているのかを知るのは難しいですが、私はあなたに上記のバインドのための別のオプションを与えるつもりです。 –
しかし、現時点では、プロセスと優先度の列にデータを持たせるために私のコードに何かがありませんでしたが、私は何を知っていますか... – Enjoy