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.

DataSourceView الفئة

Visual Studio 2010

يعمل كفئة أساسية لكافة بيانات مصدر عرض الفئات، التي تعرف قدرات مصدر البيانات عناصر التحكم.

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

public abstract class DataSourceView

يدعم ASP.NET هندسة يربط بيانات التي تمكن من الخادم ويب عناصر التحكم لربط بيانات بطريقة متناسقة. على سبيل المثال، يمكنك يرمّز-HTML القيم سجل قبل إدراجها في مصدر بيانات. مصدر بيانات عناصر التحكم يمكن أن يمثل أي مصدر بيانات: قاعدة بيانات علائقية، وملف، وتدفق، وعمل كائن، وهكذا. مصدر بيانات عناصر التحكم عرض بيانات بشكل متناسق لحدود بيانات عناصر التحكم، بغض النظر عن المصدر أو تنسيق بيانات المصدر.

استخدام مصدر بيانات عناصر التحكم التي تتوفر مع ASP.NET، بما في ذلك SqlDataSource، AccessDataSource، و XmlDataSource، لتنفيذ معظم ويب تطوير المهام. استخدام أساس DataSourceControlو DataSourceViewفئات عندما تريد تطبيق مصدر بيانات المخصصة الخاصة بك عنصر تحكم.

يمكنك اعتبار عنصر تحكم مصدر بيانات التركيبة من IDataSourceالكائن والقوائم المقترنة به من بيانات، تسمى مصدر بيانات طرق العرض. كل lهوt بيانات هو تمثيلها بواسطة DataSourceViewالكائن. DataSourceView الفئة هي فئة أساسية لمصدر بيانات كافة طرق العرض، أو قوائم بيانات المقترنة ببيانات المصدر عناصر. مصدر بيانات طرق العرض تعريف قدرات عنصر تحكم مصدر بيانات. تخزين البيانات المصدر على قائمة واحدة أو المزيد البيانات، عنصر تحكم مصدر بيانات مقترن دائماً واحد أو المزيد مصدر البيانات المسمى طرق العرض. عنصر تحكم مصدر بيانات يستخدم GetViewNamesأسلوب إلى تعداد طرق عرض مصدر البيانات المقترنة حاليا باستخدام التحكم بمصدر البيانات GetViewأسلوب إلى استرداد نسخة عرض مصدر بيانات محددة بالاسم.

لالجميع DataSourceViewالكائنات دعم استرداد البيانات من المصدر بيانات مصدر استخدام ExecuteSelectالأسلوب. تدعم الجميع طرق العرض بشكل اختياري لمجموعة أساسية من العمليات، بما في ذلك العمليات مثل ExecuteInsert، ExecuteUpdate، و ExecuteDelete. حدود بيانات عنصر تحكم يمكن اكتشاف القدرات الخاصة بمصدر بيانات عنصر تحكم باسترداد عرضاً مصدر بيانات مقترن باستخدام GetViewو GetViewNamesالطرق، وعن طريق الاستعلام عن عرض في وقت التصميم أو وقت التشغيل.

يوضح المثال تعليمات برمجية التالي كيفية توسيع DataSourceViewالفئة لإنشاء فئة مكتوب بشدة طريقة عرض الخاصة بمصدر بيانات عنصر تحكم. CsVDataSourceViewفئة تعريف القدرات CsvDataSourceعنصر تحكم مصدر بيانات ويوفر تطبيق لعناصر تحكم حدود بيانات إلى استخدام sإلىred بيانات في الملفات القيمة مفصولة بفواصل (.csv). للحصول تشغيل مزيد من المعلومات حول CsvDataSourceبيانات المصدر عنصر تحكم، راجع DataSourceControlفئة.


// The CsvDataSourceView class encapsulates the
// capabilities of the CsvDataSource data source control.
public class CsvDataSourceView : DataSourceView
{

    public CsvDataSourceView(IDataSource owner, string name) :base(owner, DefaultViewName) {

    }

    // The data source view is named. However, the CsvDataSource
    // only supports one view, so the name is ignored, and the
    // default name used instead.
    public static string DefaultViewName = "CommaSeparatedView";

    // The location of the .csv file.
    private string sourceFile = String.Empty;
    internal string SourceFile {
        get {
            return sourceFile;
        }
        set {
            // Use MapPath when the SourceFile is set, so that files local to the
            // current directory can be easily used.
            string mappedFileName = HttpContext.Current.Server.MapPath(value);
            sourceFile = mappedFileName;
        }
    }

    // Do not add the column names as a data row. Infer columns if the CSV file does
    // not include column names.
    private bool columns = false;
    internal bool IncludesColumnNames {
        get {
            return columns;
        }
        set {
            columns = value;
        }
    }

    // Get data from the underlying data source.
    // Build and return a DataView, regardless of mode.
    protected override IEnumerable ExecuteSelect(DataSourceSelectArguments selectArgs) {
        IEnumerable dataList = null;
        // Open the .csv file.
        if (File.Exists(this.SourceFile)) {
            DataTable data = new DataTable();

            // Open the file to read from.
            using (StreamReader sr = File.OpenText(this.SourceFile)) {
                // Parse the line
                string s = "";
                string[] dataValues;
                DataColumn col;

                // Do the following to add schema.
                dataValues = sr.ReadLine().Split(',');
                // For each token in the comma-delimited string, add a column
                // to the DataTable schema.
                foreach (string token in dataValues) {
                    col = new DataColumn(token,typeof(string));
                    data.Columns.Add(col);
                }

                // Do not add the first row as data if the CSV file includes column names.
                if (! IncludesColumnNames)
                    data.Rows.Add(CopyRowData(dataValues, data.NewRow()));

                // Do the following to add data.
                while ((s = sr.ReadLine()) != null) {
                    dataValues = s.Split(',');
                    data.Rows.Add(CopyRowData(dataValues, data.NewRow()));
                }
            }
            data.AcceptChanges();
            DataView dataView = new DataView(data);
            if (selectArgs.SortExpression != String.Empty) {
                dataView.Sort = selectArgs.SortExpression;
            }
            dataList = dataView;
        }
        else {
            throw new System.Configuration.ConfigurationErrorsException("File not found, " + this.SourceFile);
        }

        if (null == dataList) {
            throw new InvalidOperationException("No data loaded from data source.");
        }

        return dataList;
    }

    private DataRow CopyRowData(string[] source, DataRow target) {
        try {
            for (int i = 0;i < source.Length;i++) {
                target[i] = source[i];
            }
        }
        catch (System.IndexOutOfRangeException) {
            // There are more columns in this row than
            // the original schema allows.  Stop copying
            // and return the DataRow.
            return target;
        }
        return target;
    }
    // The CsvDataSourceView does not currently
    // permit deletion. You can modify or extend
    // this sample to do so.
    public override bool CanDelete {
        get {
            return false;
        }
    }
    protected override int ExecuteDelete(IDictionary keys, IDictionary values)
    {
        throw new NotSupportedException();
    }
    // The CsvDataSourceView does not currently
    // permit insertion of a new record. You can
    // modify or extend this sample to do so.
    public override bool CanInsert {
        get {
            return false;
        }
    }
    protected override int ExecuteInsert(IDictionary values)
    {
        throw new NotSupportedException();
    }
    // The CsvDataSourceView does not currently
    // permit update operations. You can modify or
    // extend this sample to do so.
    public override bool CanUpdate {
        get {
            return false;
        }
    }
    protected override int ExecuteUpdate(IDictionary keys, IDictionary values, IDictionary oldValues)
    {
        throw new NotSupportedException();
    }
}


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

نظام التشغيل Windows 7, Windows Vista, Windows XP SP2, Windows XP Media Center Edition, الإصدار x64 من نظام التشغيل Windows XP Professional, Windows XP Starter Edition, Windows Server 2008, نظام التشغيل Windows Server 2003, نظام التشغيل Windows Server 2000 المزود بحزمة الخدمة SP4, نظام التشغيل Windows Millennium Edition, نظام التشغيل Windows 98

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

.NET Framework

مدعوم في: 4, 3.5, 3.0, 2.0
إظهار: