首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

怎么在DATAGRID里面显示不是数据库里面的数据,或有别的办法显示不是数据库里面的数据吗

2012-02-01 
如何在DATAGRID里面显示不是数据库里面的数据,或有别的办法显示不是数据库里面的数据吗?如何在DATAGRID里

如何在DATAGRID里面显示不是数据库里面的数据,或有别的办法显示不是数据库里面的数据吗?
如何在DATAGRID里面显示不是数据库里面的数据,或有别的办法显示不是数据库里面的数据吗?

关于一个供应商汇总信息,无法用一个SQL语句写出来,或者说写的非常麻烦,但是要是用一个循环语句,在加上SQL语句的配合,就非常简单.请问各位大侠有什么好办法吗?

[解决办法]
参考如下:
DataTable dt = new DataTable(); // 实例化一个DataTable对象
dt.Columns.Add( "列名1 ");
dt.Columns.Add( "列名2 "); // 此时DataTable的列构造完成

DataRow dr = dt.NewRow();
dr[ "列名1 "] = value1;
dr[ "列名2 "] = value2;
dt.Rows.Add(dr); // 此时dt就有一行数据了.
[解决办法]
用集合类,比arraylist 或hashtable之类的都可以。。。。
[解决办法]
在代码里把你计算出来的数据填充到数组、表里,然后再绑定到DataGrid即可。
[解决办法]
使用asp处理方式,后台控制生成table

[解决办法]
自己写个DataTable不就可以了
[解决办法]
using System;
using System.Data;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public class CacheDataTable : System.Web.UI.Page
{
private System.Data.DataTable myDataTable;
protected System.Web.UI.WebControls.DataGrid productGrid;

//创建DataTable的方法
private void MakeData()
{
//从Cache中查找myDataTable对象
myDataTable = (DataTable)Cache.Get( "myDataTable ");

//如果Cache中不存在myDataTable对象,则创建
if(myDataTable == null)
{
myDataTable = new DataTable( "Products ");

//1.Columns集合定义列名称、数据类型和主键或增量计数信息
myDataTable.Columns.Add( "ID ", Type.GetType( "System.Int32 "));
myDataTable.Columns.Add( "Name ", Type.GetType( "System.String "));
myDataTable.Columns.Add( "Category ", Type.GetType( "System.Int32 "));

//设置主键(DataColumns数组)
myDataTable.PrimaryKey = new DataColumn[]{myDataTable.Columns[ "ID "]};

myDataTable.Columns[ "ID "].AutoIncrement = true;
myDataTable.Columns[ "ID "].AutoIncrementSeed = 1;
myDataTable.Columns[ "ID "].ReadOnly = true;

//2.Rows集合包含DataTable中的Columns定义的数据
DataRow tempRow;

for(int i = 0; i < 10; i++)
{
//创建一个新的DataRow对象(生成一个新行)
tempRow = myDataTable.NewRow();
tempRow[ "Name "] = "WISH # " + i.ToString();
tempRow[ "Category "] = i % 2 + 1;
//添加新的DataRow
myDataTable.Rows.Add(tempRow);
}

//把myDataTable存入应用程序缓存
Cache.Insert( "myDataTable ", myDataTable);
}
}

private void BindData()
{
MakeData();
productGrid.DataSource = myDataTable;
productGrid.DataBind();
}

private void Page_Load(object sender, System.EventArgs e)
{
if(!Page.IsPostBack)
{
//如果是第一次请求页面,则清除myDataTable对象确保不存在myDataTable的缓存版本
Cache.Remove( "myDataTable ");
}
MakeData();
if(!Page.IsPostBack)
{
BindData();
}
}

#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
InitializeComponent();
base.OnInit(e);
}

private void InitializeComponent()
{
this.Load += new System.EventHandler(this.Page_Load);

}
#endregion
}

[解决办法]
牛呀
[解决办法]
关于一个供应商汇总信息,无法用一个SQL语句写出来,或者说写的非常麻烦,但是要是用一个循环语句,在加上SQL语句的配合,就非常简单.请问各位大侠有什么好办法吗?

------------------
对于关系数据库查询,再复杂的查询,使用 SQL查询语句加上流程控制语句(if-else, while等)肯定比应用程序查询方便,因此,考虑使用存储过程

热点排行