This article was translated by machine. To view in the article in English, select the English check box. You can also display the English text in a popup window by moving the mouse pointer over the text.
الترجمة
الأصلي
This documentation is archived and is not being maintained.

QueryableFilterRepeater الفئة

Visual Studio 2010

Provides a عنصر تحكم لتوفير قالب that automatically generates the واجه المستخدم إلى عامل تصفية جدول صفوف for supported عمود أنواع.

مساحة الاسم:  System.Web.DynamicData
التجميع:  System.Web.DynamicData (في System.Web.DynamicData.dll)

public class QueryableFilterRepeater : Control
<asp:QueryableFilterRepeater />

في هذا الموضوع:

مقدمة

The QueryableFilterRepeater عنصر تحكم هو used في الصفحة ترميز إلى automatically توليد the واجه المستخدم إلى عامل تصفية جدول صفوف. بشكل افتراضي، بيانات ديناميكية إنشاء واجهة المستخدم لكل نوع عمود المعتمدة باستخدام قوالب عامل تصفية الافتراضي في الدليل~\ديناميكيبيانات\Filters.

The الافتراضي قوالب دعم foreign-المفتاح, منطقي, و قائمة تعداد عمود أنواع.

The following جدول lists tasks that are associated مع the QueryableFilterRepeater نوع.

المهمة

الوصف

إنشاء the واجه المستخدم for filtering جدول صفوف.

إضافة DynamicFilter عناصر التحكم إلى إنشاء واجه المستخدم using the ItemTemplate خاصية.

Verify whether the QueryableFilterRepeater عنصر تحكم يحتوي على بيانات حقل filters.

Perform the يودع the OnPreRender أسلوب.

فئة سياق

The QueryableFilterRepeater عنصر تحكم هو designed إلى work مع the QueryExtender عنصر تحكم. It must be مشار إليها بواسطة a DynamicFilterExpression مثيل inside a QueryExtender كائن في الصفحة ترميز.

The following figure shows the steps that ديناميكي بيانات follows في ترتيب إلى implement تلقائي جدول صف filtering.

Dd384766.Dynamic_AutoFilter(ar-sa,VS.100).png
  1. The DynamicFilter عناصر التحكم (which are contained في the QueryableFilterRepeater عنصر تحكم), pass a عمود القيمة إلى the QueryExtender عنصر تحكم.

  2. QueryExtender يستخدم عنصر التحكم هذه القيمة إلى إنشاء استعلام تصفية المعلومات، ثم يمرر إلى مصدر البيانات عنصر تحكم.

  3. مصدر البيانات عنصر تحكم تمرير استعلام تصفية المعلومات إلى موفر مصدر البيانات.

  4. The مصدر البيانات موفر passes the استعلام إلى the قاعدة بيانات.

  5. The قاعدة بيانات إرجاع the filtered جدول صفوف.

  6. The بيانات المصدر موفر sends this بيانات الخلف إلى the بيانات التحكم بالمصادر.

  7. This عنصر تحكم passes the filtered جدول صفوف إلى the بيانات-تحكم محدود for عرض.

بناء جملة مصرحة

<asp:QueryableFilterRepeater 
    ID="string"
    DynamicFilterContainerId="string" 
    EnableViewState="True|False" 
    OnDataBinding="DataBinding event handler"
    OnDisposed="Disposed event handler"
    OnInit="Init event handler"
    OnLoad="Load event handler"
    OnPreRender="PreRender event handler"
    OnUnload="Unload event handler" 
    Visible="true"
    runat="server" />

يتوفر مشروع ‏‫Visual Studio مع التعليمات البرمجية الخاصة بالمصدر في هذا الموقع : ينزّل.

The following مثال shows how إلى استخدم the QueryableFilterRepeater عنصر تحكم إلى توليد the واجه المستخدم for جدول صف filtering. The مكرر's قالب العنصر يحتوي على a DynamicFilter عنصر تحكم that creates the واجه المستخدم for each supported عمود نوع.

The مثال يتطلب the following:

  • موقع ويب ديناميكي للبيانات أو تطبيق ويب ديناميكي للبيانات. لمزيد من المعلومات، راجع Walkthrough: Creating a New Dynamic Data Web Site using Scaffolding.


<%@ Page Language="C#" MasterPageFile="~/Site.master"   
    CodeFile="QueryableFilterRepeater.aspx.cs" 
    Inherits="QueryableFilterRepeaterSample" %>

<%@ Register src="~/DynamicData/Content/GridViewPager.ascx" tagname="GridViewPager" tagprefix="asp" %>

<asp:Content ID="headContent" ContentPlaceHolderID="head" Runat="Server">
</asp:Content>

<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">


    <asp:DynamicDataManager ID="DynamicDataManager1" runat="server" AutoLoadForeignKeys="true" />


     <h2 class="DDSubHeader"><%= table.DisplayName%></h2>

    <asp:UpdatePanel ID="UpdatePanel1" runat="server">
        <ContentTemplate>
            <asp:ValidationSummary ID="ValidationSummary1" runat="server" EnableClientScript="true"
                HeaderText="List of validation errors" />
            <asp:DynamicValidator runat="server" ID="GridViewValidator" ControlToValidate="GridView1" Display="None" />


	    <!-- Set the QueryableFilterRepeater control attributes. --> 
            <asp:QueryableFilterRepeater runat="server" ID="FilterRepeaterID">
                <ItemTemplate>
                    <asp:Label ID="Label1" runat="server" Text='<%# Eval("DisplayName") %>' />
                    <asp:DynamicFilter runat="server" ID="DynamicFilter" 
                        OnFilterChanged="OnFilterSelectionChanged"  /><br />
                </ItemTemplate>
            </asp:QueryableFilterRepeater>


	    <br />

             <!-- Data-bound control that shows the filtered table rows. -->
            <asp:GridView ID="GridView1" runat="server" 
                DataSourceID="GridDataSource" EnablePersistedSelection="true"
                AllowPaging="True" AllowSorting="True" CssClass="DDGridView">
                <Columns>
                    <asp:TemplateField>
                        <ItemTemplate>
                            <asp:LinkButton ID="DeleteLinkButton" runat="server" CommandName="Delete"
                                CausesValidation="true" Text="Delete"
                                OnClientClick='return confirm("Are you sure you want to delete this item?");'
                            />
                        </ItemTemplate>
                    </asp:TemplateField>
                </Columns>

                <PagerStyle CssClass="footer"/>        
                <PagerTemplate>
                    <asp:GridViewPager runat="server" />
                </PagerTemplate>
                <EmptyDataTemplate>
                    There are currently no items in this table.
                </EmptyDataTemplate>
            </asp:GridView>

            <asp:LinqDataSource ID="GridDataSource" runat="server" 
                EnableDelete="true" 
                ContextTypeName="AdventureWorksLTDataContext"
                TableName="SalesOrderDetails">
            </asp:LinqDataSource>

            <!-- The control that handles the details for querying 
            the database, after a user's filtering action -->
            <asp:QueryExtender ID="QueryBlock1" 
                TargetControlID="GridDataSource" runat="server">
                <asp:DynamicFilterExpression ControlID="FilterRepeaterID" />
            </asp:QueryExtender>
        </ContentTemplate>
    </asp:UpdatePanel>


</asp:Content>



using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Xml.Linq;
using System.Web.DynamicData;


public partial class QueryableFilterRepeaterSample : System.Web.UI.Page 
{
    protected MetaTable table;

    protected void Page_Init(object sender, EventArgs e) {
        DynamicDataManager1.RegisterControl(GridView1, true /*setSelectionFromUrl*/);
    }

    protected void Page_Load(object sender, EventArgs e) {
        table = GridDataSource.GetTable();
        Title = table.DisplayName;

        // Disable various options if the table is readonly
        if (table.IsReadOnly) {
            GridView1.Columns[0].Visible = false;
        }
    }

    // Handle the filter change event.
    // This function resets the index of the page to display.
    protected void OnFilterSelectionChanged(object sender, EventArgs e) 
    {
        GridView1.PageIndex = 0;
    }
 }




using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.ComponentModel.DataAnnotations;
using System.Web.DynamicData;

    // Define the enumeration to apply
    // to the OrderQty data field.
    // This enumeration is used for filtering.
    public enum QtyEnum
    {
        None        = 0,
        Small1      = 1,
        Small2      = 2,
        Small3      = 3,
        Medium10    = 10,
        Medium11    = 11,
        Medium12    = 12,
        Medium13    = 13,
        Medium14    = 14,
        Large21     = 21,
        Large22     = 22,
        Large23     = 23,
        XLarge60    = 60,
        XLarge70    = 70
    }

    [MetadataType(typeof(SalesOrderDetail_MD))]
    public partial class SalesOrderDetail {

        private class SalesOrderDetail_MD
        {
            // Qualify the OrderQty field 
            // with the applicable 
            // enumeration type.
            [EnumDataType(typeof(QtyEnum))] 
            public object OrderQty { get; set; }
        }
    }



System.Object
  System.Web.UI.Control
    System.Web.DynamicData.QueryableFilterRepeater

يتم تأمين العملية الجزئية لأي عضو عمومي ثابت (مشترك في Visual Basic) من هذا النوع. لن يتم ضمان تأمين العملية الجزئية لأي عضو مثيل.

نظام التشغيل Windows 7, Windows Vista, Windows XP SP2, Windows Server 2008, نظام التشغيل Windows Server 2003

لا يدعم .NET Framework و .NET Compact Framework كافة الإصدارات الخاصة بكل نظام أساسي. للحصول على قائمة بالإصدارات المدعمة، راجع متطلبات النظام إطار عمل .NET.

.NET Framework

مدعوم في: 4
إظهار: