当前位置: 首页>>代码示例>>C#>>正文


C# DataSourceView.ExecuteSelect方法代码示例

本文整理汇总了C#中System.Web.UI.DataSourceView.ExecuteSelect方法的典型用法代码示例。如果您正苦于以下问题:C# DataSourceView.ExecuteSelect方法的具体用法?C# DataSourceView.ExecuteSelect怎么用?C# DataSourceView.ExecuteSelect使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在System.Web.UI.DataSourceView的用法示例。


在下文中一共展示了DataSourceView.ExecuteSelect方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: ExecuteSelect

// 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 (!string.IsNullOrEmpty(selectArgs.SortExpression)) {
            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;
}
开发者ID:.NET开发者,项目名称:System.Web.UI,代码行数:66,代码来源:DataSourceView.ExecuteSelect


注:本文中的System.Web.UI.DataSourceView.ExecuteSelect方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。