簡體   English   中英

LinqDataSource類示例

[英]LinqDataSource class example

剛開始研究將LinqDataSource用於GridView時,我正在尋找更多有關如何設置數據源的示例。

我希望以后再將它用於SharePoint列表,但是現在,我只是簡單地學習了一些我可以從中檢索和更新數據的類的詳細示例。

這是來自MS的示例類。 我只是舉了一個以上的例子,所以我更好地了解了它是如何工作的。

一個已知的可行示例,稍微復雜一點,將是一個很好的例子

public class MovieLibrary
{
        string[] _availableGenres = { "Comedy", "Drama", "Romance" };

        public MovieLibrary()
        {
        }

        public string[] AvailableGenres
        {
            get
            {
                return _availableGenres;
            }
        }
    }

干杯

我將LinqDataSource與SPGridView一起使用,這是我的代碼。

      <SharePoint:SPGridView runat="server" ID="spgvUserTrainingLists" AutoGenerateColumns="false"
                                DataSourceID="linqDsEmployeeTrainingLists" DataKeyNames="RowId" OnRowDataBound="spgvUserTrainingLists_RowDataBound"
                                AllowSorting="true" AllowPaging="true" PageSize="15" AllowFiltering="true" FilteredDataSourcePropertyName="Where"
                                FilteredDataSourcePropertyFormat='{1} == "{0}"' FilterDataFields=",TrainingType,,Trainer,Status">
                                <Columns>
                                    <SharePoint:SPBoundField HeaderText="Ref #" SortExpression="RefNo" DataField="RefNo" />
                                    <SharePoint:SPBoundField HeaderText="Type" SortExpression="TrainingType" DataField="TrainingType" />
                                    <asp:TemplateField HeaderText="Training" SortExpression="TrainingTitle">
                                        <ItemTemplate>
                                            <asp:HyperLink ID="hlTrainingDetail" runat="server" Text='<%# Eval("TrainingTitle") %>'
                                                NavigateUrl="#" />
                                        </ItemTemplate>
                                    </asp:TemplateField>
                                    <SharePoint:SPBoundField HeaderText="Trainer" SortExpression="Trainer" DataField="Trainer" />
                                    <SharePoint:SPBoundField HeaderText="Status" SortExpression="Status" DataField="Status" />
                                    <asp:TemplateField>
                                        <ItemTemplate>
                                            <asp:ImageButton ID="imgDelete" ImageUrl="~/_layouts/images/DELITEM.GIF" runat="server"
                                                UseSubmitBehaviour="false" CommandValue='<%# Eval("RowId") %>' OnClientClick="javascript:DeleteTraining(this);" />
                                        </ItemTemplate>
                                    </asp:TemplateField>
                                </Columns>
                                <EmptyDataTemplate>
                                    No training yet.
                                </EmptyDataTemplate>
                            </SharePoint:SPGridView>
                            <SharePoint:SPGridViewPager ID="SPGridViewPager1" runat="server" GridViewId="spgvUserTrainingLists" />
                            <aspweb:LinqDataSource runat="server" ID="linqDsEmployeeTrainingLists" OnSelecting="linqDs_Selecting" />

在LinqDataSource Selecting事件中,發生數據綁定

protected void linqDs_Selecting(object sender, LinqDataSourceSelectEventArgs e)
    {
        object parameter = null;

        if (e.SelectParameters.TryGetValue("employee", out parameter))
        {
            e.Result = DefaultBLL.GetEmployeeTrainingLists(parameter.ToString());
        }
    }


Hope this help.

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM