Jasonchne 2019-09-05 13:35 采纳率: 50%
浏览 155

存储过程绑定到GrideView中

执行存储过程可以返回table,并且返回的table中也有数据,但是绑定到前台中只能显示列标题,没有数据,这是怎么回事?下面的代码是问题中是的代码

代码一:点击按钮
 protected void btn_cx_Click(object sender, EventArgs e)
        {
            string yymc = txt_yymc.Text.Trim().ToString();
            string kssj = txt_kssj.Text.Trim().ToString() + " 00:00:00.000";
            string jssj = txt_jssj.Text.Trim().ToString() + " 23:59:59.000";
            try
            {
                DataTable dt = new DataTable();
                CenterBaseBLL.gysxx gys = new CenterBaseBLL.gysxx();
                dt = gys.GetAll(yymc, kssj, jssj);

                if (dt != null && dt.Rows.Count > 0)
                {
                    gysxx.DataSource = dt;
                    gysxx.DataBind();
                }
                else
                {

                }
            }
            catch
            {

            }
        }
代码二:BLL中的代码
public DataTable GetAll(string yymc, string kssj, string jssj)
        {
            DataTable table = new DataTable();
            try
            {
                CenterBaseDAL.ExecuteProcedure exec = new CenterBaseDAL.ExecuteProcedure();
                SqlParameter[] sqlp = {
                    new SqlParameter("@yymc",yymc),
                    new SqlParameter("@kssj",kssj),
                    new SqlParameter("@jssj",jssj),
                };
                int falg = exec.run(table, "HJY_GYL_GHSXX", sqlp);
                if (falg == 1)
                {
                }
                else
                {
                    this.ErrorMessage = exec.ErrorMessage.ToString();
                }
            }
            catch (Exception e)
            {
                this.ErrorMessage = e.Message.ToString();
            }

            return table;
        }
代码三:DAL中的代码

 public int run(DataTable table, string sprocName, SqlParameter[] parameters)
        {
            Debug.Assert(sproc == null);
            sproc = new StoredProcedure(sprocName, parameters);
            int flag = sproc.Run(table);
            this.ErrorMessage = sproc.ErrorMessage;
            sproc.Dispose();
            return flag;
        }
代码四:前台页面列绑定代码
<Columns>
                    <asp:BoundField HeaderText="医院名称" DataField="yymc" ItemStyle-HorizontalAlign="Center" ItemStyle-VerticalAlign="Middle" />
                    <asp:BoundField HeaderText="供应商名称" DataField="gysmc" ItemStyle-HorizontalAlign="Center" ItemStyle-VerticalAlign="Middle" />
                    <asp:BoundField HeaderText="供应商分类" DataField="gysfl" ItemStyle-HorizontalAlign="Center" ItemStyle-VerticalAlign="Middle" />
                    <asp:BoundField HeaderText="上月采购金额" DataField="syxsje" ItemStyle-HorizontalAlign="Center" ItemStyle-VerticalAlign="Middle" />
                </Columns>

以上是代码片段,用到的代码全贴出来了。下面的图片是前台点击按钮后实现的效果图:

图片说明

如图,在点击“查询”后只能显示列标题,数据显示不出来,
求大神指点!!
在线等!!!!!

  • 写回答

1条回答

  • fulei2008 2019-09-05 14:00
    关注

    if (dt != null && dt.Rows.Count > 0)
    {
    gysxx.DataSource = dt;
    gysxx.DataBind();
    }
    断点到dt下,看数据是否提取成功

    评论

报告相同问题?

悬赏问题

  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!
  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?