本文整理汇总了C#中System.Data.Select.Paged方法的典型用法代码示例。如果您正苦于以下问题:C# Select.Paged方法的具体用法?C# Select.Paged怎么用?C# Select.Paged使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Data.Select
的用法示例。
在下文中一共展示了Select.Paged方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: GenerateReturnSet
/// <summary>
/// Data retrieval
/// </summary>
/// <returns></returns>
private DataSet GenerateReturnSet()
{
DataSet result = null;
if(_url != null)
{
SqlQuery qry = null;
//Query q;
if(!String.IsNullOrEmpty(_url.TableName))
{
qry = new Select().From(_url.TableName);
IDataProvider provider = ProviderFactory.GetProvider();
ITable tbl = provider.FindTable(_url.TableName);
if(_url.PrimaryKey != null)
qry = qry.Where(tbl.PrimaryKey.Name).IsEqualTo(_url.PrimaryKey);
//q.WHERE(q.Schema.PrimaryKey.ParameterName, _url.PrimaryKey);
if(_url.Parameters != null)
{
IDictionaryEnumerator loopy = _url.Parameters.GetEnumerator();
IColumn column;
string paramName;
object paramValue;
while(loopy.MoveNext())
{
paramName = loopy.Key.ToString();
paramValue = loopy.Value;
int pageSize = 0;
int pageIndex = -1;
if(paramName.ToLowerInvariant() == "pagesize" || paramName.ToLowerInvariant() == "pageindex")
{
if(paramName.ToLowerInvariant() == "pagesize")
pageSize = int.Parse(paramValue.ToString());
if(paramName.ToLowerInvariant() == "pageindex")
pageIndex = int.Parse(paramValue.ToString());
if(pageSize > 0 && pageIndex > -1)
qry.Paged(pageIndex + 1, pageSize);
}
else
{
Comparison comp;
EvalComparison(paramName, out paramName, out comp);
column = tbl.GetColumn(paramName);
//if this column is a string, by default do a fuzzy search
if(comp == Comparison.Like || column.IsString)
{
comp = Comparison.Like;
paramValue = String.Concat("%", paramValue, "%");
qry = qry.Where(column.Name).Like(paramValue.ToString());
}
else if(paramValue.ToString().ToLower() == "null")
qry = qry.Where(column.Name).IsNull();
//q.WHERE(column.ColumnName, comp, paramValue);
}
}
}
result = provider.ExecuteDataSet(qry.GetCommand());
}
else if(!String.IsNullOrEmpty(_url.SpName))
{
StoredProcedure sp = new StoredProcedure(_url.SpName);
if(_url.Parameters != null)
{
IDictionaryEnumerator loopy = _url.Parameters.GetEnumerator();
while(loopy.MoveNext())
sp.Command.AddParameter(loopy.Key.ToString(), loopy.Value, DbType.AnsiString);
}
result = sp.ExecuteDataSet();
}
}
return result;
}
示例2: LoadGrid
/// <summary>
/// Loads the grid.
/// </summary>
private void LoadGrid()
{
if(String.IsNullOrEmpty(tableName))
throw new ArgumentException("No tableName property set - please be sure to set the name of the table or view you'd like to see", tableName);
DecideSortDirection();
//load the data
DataProvider provider = DataService.GetInstance(ProviderName);
SqlQuery q = new Select(provider).From(tableName);
//set the select list
StringBuilder selectList = new StringBuilder("*");
if(!String.IsNullOrEmpty(columnList))
{
selectList = new StringBuilder();
for(int i = 0; i < colList.Count; i++)
{
selectList.Append(colList[i].ToString().Trim());
if(i + 1 < colList.Count)
selectList.Append(",");
}
}
q.SelectColumnList = selectList.ToString().Split(new[] {','}, StringSplitOptions.RemoveEmptyEntries);
//sorting
if(!String.IsNullOrEmpty(sortBy))
{
TableSchema.TableColumn col = provider.GetTableSchema(tableName, TableType.Table).GetColumn(sortBy);
if(col != null && col.MaxLength < 2048 && col.DataType != DbType.Binary && col.DataType != DbType.Byte)
{
if(String.IsNullOrEmpty(sortDirection) || sortDirection.Trim() == SqlFragment.ASC.Trim())
q.OrderAsc(sortBy);
else
q.OrderDesc(sortBy);
}
}
//paging
if(pageSize > 0)
{
q.Paged(pageIndex, pageSize);
ddlPages.SelectedValue = pageIndex.ToString();
}
//honor logical deletes
q.CheckLogicalDelete();
//where
if(!String.IsNullOrEmpty(whereExpression))
q.WhereExpression(whereExpression);
SqlQueryBridge.AddLegacyWhereCollection(q, whereCollection);
DataSet ds = q.ExecuteDataSet();
if(ds.Tables.Count > 0)
dataSource = ds.Tables[0];
else
throw new Exception("Bad query - no data returned. Did you set the correct provider?");
EnsureTotals(q);
//set the buttons
SetPagingButtonState();
//create a table
BuildRows();
}
示例3: BindGrid
/// <summary>
/// Binds the grid.
/// </summary>
/// <param name="orderBy">The order by.</param>
protected void BindGrid(string orderBy)
{
if(TableSchema != null && TableSchema.PrimaryKey != null)
{
SqlQuery query = new Select(TableSchema.Provider).From(TableSchema);
if(!String.IsNullOrEmpty(_whereExpression))
query.WhereExpression(_whereExpression);
if(_whereCollection != null)
SqlQueryBridge.AddLegacyWhereCollection(query, _whereCollection);
string sortColumn = null;
if(!String.IsNullOrEmpty(orderBy))
sortColumn = orderBy;
else if(ViewState[ORDER_BY] != null)
sortColumn = (string)ViewState[ORDER_BY];
int colIndex = -1;
if(!String.IsNullOrEmpty(sortColumn))
{
ViewState.Add(ORDER_BY, sortColumn);
TableSchema.TableColumn col = TableSchema.GetColumn(sortColumn);
if(col == null)
{
for(int i = 0; i < TableSchema.Columns.Count; i++)
{
TableSchema.TableColumn fkCol = TableSchema.Columns[i];
if(fkCol.IsForeignKey && !String.IsNullOrEmpty(fkCol.ForeignKeyTableName))
{
TableSchema.Table fkTbl = DataService.GetSchema(fkCol.ForeignKeyTableName, ProviderName, TableType.Table);
if(fkTbl != null)
{
col = Utility.GetDisplayTableColumn(fkTbl);
colIndex = i;
break;
}
}
}
}
if(col != null && col.MaxLength < 2048)
{
string sortAlias = colIndex > -1 ? SqlFragment.JOIN_PREFIX + colIndex : col.ColumnName;
if(ViewState[SORT_DIRECTION] == null || ((string)ViewState[SORT_DIRECTION]) == SqlFragment.ASC)
{
query.OrderAsc(sortAlias);
//query.OrderBy = colIndex > -1 ? OrderBy.Asc(col, SqlFragment.JOIN_PREFIX + colIndex) : OrderBy.Asc(col);
ViewState[SORT_DIRECTION] = SqlFragment.ASC;
}
else
{
query.OrderDesc(sortAlias);
//query.OrderBy = colIndex > -1 ? OrderBy.Desc(col, SqlFragment.JOIN_PREFIX + colIndex) : OrderBy.Desc(col);
ViewState[SORT_DIRECTION] = SqlFragment.DESC;
}
}
}
if (RecordsPerPage > 0)
{
query = query.Paged(grid.PageIndex, RecordsPerPage);
}
DataTable dt = query.ExecuteJoinedDataSet().Tables[0];
grid.DataSource = dt;
grid.AutoGenerateColumns = false;
grid.Columns.Clear();
int columnOffset = 0;
string dataKey = TableSchema.PrimaryKey.ColumnName;
if(Utility.IsMappingTable(TableSchema) && dt.Columns.Count > TableSchema.Columns.Count)
{
columnOffset = 1;
dataKey = dt.Columns[0].ColumnName;
}
grid.DataKeyNames = new[] {dataKey};
CommandField link = new CommandField
{
ShowEditButton = true,
EditText = "Edit"
};
grid.Columns.Insert(0, link);
for(int i = 0; i < TableSchema.Columns.Count; i++)
{
int dtColIndex = i + columnOffset;
BoundField field = new BoundField
{
DataField = dt.Columns[dtColIndex].ColumnName,
SortExpression = dt.Columns[dtColIndex].ColumnName, HtmlEncode = false
};
//.........这里部分代码省略.........