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

请问一个dataset绑定到grid的有关问题

2012-12-27 
请教一个dataset绑定到grid的问题代码如下private void BindGrid(){DataSet table GetDataTable()Grid1

请教一个dataset绑定到grid的问题
代码如下


private void BindGrid()
    {
        DataSet table = GetDataTable();
        Grid1.DataSource = table;
        Grid1.DataBind();
    }
    private DataSet GetDataTable()
    {
        DataSet source = new DataSet();
        DataSet source1, source2;
        DataSet source3 = new DataSet();
        SqlParameter[] cs4 = new SqlParameter[4];
        cs4[0] = new SqlParameter("@kuangchangId", kuangchangId);
        cs4[1] = new SqlParameter("@sTime", sTime);
        cs4[2] = new SqlParameter("@eTime", eTime);
        cs4[3] = new SqlParameter("@customId", customId);
        sqlstring = "select id,sellId,printId,productId,productPrice,totalMoney,carId,carMz,carJz,productFs,sellTime from KcSell where kuangchangId=@kuangchangId and checked=1 and customId=@customId and sellTime >= @sTime and sellTime <= @eTIme";
        source1 = SqlHelper.ExecuteDataset(SqlHelper.connectionString, CommandType.Text, sqlstring, cs4);
        source3.Tables.Add();
        source3.Tables[0].Columns.Add("dTime", typeof(string));
        source3.Tables[0].Columns.Add("dId", typeof(string));
        source3.Tables[0].Columns.Add("dPid", typeof(string));
        source3.Tables[0].Columns.Add("productName", typeof(string));
        source3.Tables[0].Columns.Add("productPrice", typeof(string));
        source3.Tables[0].Columns.Add("carName", typeof(string));
        source3.Tables[0].Columns.Add("carMz", typeof(string));
        source3.Tables[0].Columns.Add("carJz", typeof(string));
        source3.Tables[0].Columns.Add("productFs", typeof(string));
        source3.Tables[0].Columns.Add("totalMoney", typeof(string));
        source3.Tables[0].Columns.Add("inMoney", typeof(string));
        source3.Tables[0].Columns.Add("leaveMoney", typeof(string));
        for (int i = 0; i < source1.Tables[0].Rows.Count; i++)
        {
            DataRow dr = source3.Tables[0].NewRow();
            dr[0] = source1.Tables[0].Rows[i][10];
            dr[1] = source1.Tables[0].Rows[i][1];
            dr[2] = source1.Tables[0].Rows[i][2];


            dr[3] = Kcc.getProductName(source1.Tables[0].Rows[i][3].ToString());
            dr[4] = source1.Tables[0].Rows[i][4];
            dr[5] = Kcc.getCarName(source1.Tables[0].Rows[i][6].ToString());
            dr[6] = source1.Tables[0].Rows[i][7];
            dr[7] = source1.Tables[0].Rows[i][8];
            dr[8] = source1.Tables[0].Rows[i][9];
            dr[9] = source1.Tables[0].Rows[i][5];
            source3.Tables[0].Rows.Add(dr);
        }
        return source3;
    }




Grid1.DataBind()这句出错
提示未将对象引用设置到对象的实例
[解决办法]
应该用 DataTable绑定
[解决办法]
你给3绑数据,然后返回dataset1
这个想法。。。试试把1返回去
返回去之前先实例化,
[解决办法]

DataSet table = GetDataTable(); 
改为:DataSet table = this.GetDataTable(); 试试!

[解决办法]
  source3.Tables.Add();放到
for (int i = 0; i < source1.Tables[0].Rows.Count; i++);上面
试试
[解决办法]
DataTable dt;
DataSet source1 = new DataSet();
SqlParameter[] cs4 = new SqlParameter[4];
cs4[0] = new SqlParameter("@kuangchangId", kuangchangId);
cs4[1] = new SqlParameter("@sTime", sTime);
cs4[2] = new SqlParameter("@eTime", eTime);
cs4[3] = new SqlParameter("@customId", customId);
sqlstring = "select id,sellId,printId,productId,productPrice,totalMoney,carId,carMz,carJz,productFs,sellTime from KcSell where kuangchangId=@kuangchangId and checked=1 and customId=@customId and sellTime >= @sTime and sellTime <= @eTIme";
source1 = SqlHelper.ExecuteDataset(SqlHelper.connectionString, CommandType.Text, sqlstring, cs4);
dt = new DataTable("Name");//这里是你的表名
dt.Columns.Add("dTime", typeof(string));
dt.Columns.Add("dId", typeof(string));
dt.Columns.Add("dPid", typeof(string));
dt.Columns.Add("productName", typeof(string));
dt.Columns.Add("productPrice", typeof(string));
dt.Columns.Add("carName", typeof(string));
dt.Columns.Add("carMz", typeof(string));
dt.Columns.Add("carJz", typeof(string));
dt.Columns.Add("productFs", typeof(string));
dt.Columns.Add("totalMoney", typeof(string));
dt.Columns.Add("inMoney", typeof(string));
dt.Columns.Add("leaveMoney", typeof(string));
for (int i = 0; i < source1.Tables[0].Rows.Count; i++)
{
DataRow dr = dt.NewRow();
dr[0] = source1.Tables[0].Rows[i][10];


dr[1] = source1.Tables[0].Rows[i][1];
dr[2] = source1.Tables[0].Rows[i][2];
dr[3] = Kcc.getProductName(source1.Tables[0].Rows[i][3].ToString());
dr[4] = source1.Tables[0].Rows[i][4];
dr[5] = Kcc.getCarName(source1.Tables[0].Rows[i][6].ToString());
dr[6] = source1.Tables[0].Rows[i][7];
dr[7] = source1.Tables[0].Rows[i][8];
dr[8] = source1.Tables[0].Rows[i][9];
dr[9] = source1.Tables[0].Rows[i][5];
dt.Rows.Add(dr);
}
return source3.Tables.Add(dt);


要不就改成这样。
[解决办法]
Grid1.DataSource = table.Table[0]; 

[解决办法]
我怎么感觉你没有做填充到dataset
中呢????

热点排行