asp.net(c#)中DataGrid问题

为什么这个就是不能绑定成功呢?提示错误是在“迟到天数”那一列  -----在位置 0 处没有任何行。

/// 以下是.CS中的代码

protected void SearchBtn_Click(object sender, System.EventArgs e)
  {
   DataSet ds = new DataSet();

   //得到考勤数据
   DutyTime duty = new DutyTime();
            SqlDataReader recd = duty.GetAttendances(DateTime.Parse(Begintime.Text.Trim()),
                DateTime.Parse(Endtime.Text.Trim()),Int32.Parse(StaffList.SelectedValue));
   DataTable dutydb =  SystemTools.ConvertDataReaderToDataTable(recd);

            ds.Tables.Add(dutydb);
   dvDuty = ds.Tables[0].DefaultView;
  
   AttendanceList.DataSource = dvDuty;
   AttendanceList.DataBind();
  }

  public string GetGridData(string staffid,int type)
  {
   //type:0 正常 1:迟到 2:早退 3:未考勤 4:总考勤天数
   switch(type)
   {
    case 0:
                    dvDuty.RowFilter = "OnDutyStatus = 1 and OffDutyStatus = 1 and UID=" + staffid;
     break;
    case 1:
                    dvDuty.RowFilter = "OnDutyStatus=0 and UID=" + staffid;
     break;
    case 2:
                    dvDuty.RowFilter = "OffDutyStatus=0 and UID=" + staffid;
     break;
    case 3:
                    dvDuty.RowFilter = "UID=" + staffid;
     return((dvDuty.Count - dvDuty.Count).ToString());
    case 4:
     break;
   }
   return(dvDuty.Count.ToString());  
  } 

//以下是源代码

TD align="right" colSpan="2"><asp:datagrid id="AttendanceList" runat="server" Width="100%" AutoGenerateColumns="False" EnableViewState="False"
        DataKeyField="AttendenceID" BorderColor="#93BEE2" BorderWidth="1px" CellPadding="3">
        <HeaderStyle Font-Size="X-Small" BackColor="#E8F4FF"></HeaderStyle>
        <Columns>
         <asp:BoundColumn DataField="RealName" HeaderText="姓名">
          <ItemStyle Font-Size="X-Small"></ItemStyle>
          <FooterStyle Font-Size="X-Small"></FooterStyle>
         </asp:BoundColumn>
         <asp:TemplateColumn HeaderText="正常天数">
          <ItemTemplate>
           <%# GetGridData(((DataRowView)Container.DataItem)["UID"].ToString(), 0)%>
          </ItemTemplate>
         </asp:TemplateColumn>
         <asp:TemplateColumn HeaderText="迟到天数">    ///在此错提示了一个错误(在位置 0 处没有任何行。)
          <ItemTemplate>
           <%# GetGridData(((DataRowView)Container.DataItem)["UID"].ToString(), 1)%>
          </ItemTemplate>
         </asp:TemplateColumn>
         <asp:TemplateColumn HeaderText="早退天数">
          <ItemTemplate>
           <%# GetGridData(((DataRowView)Container.DataItem)["UID"].ToString(), 2)%>
          </ItemTemplate>
         </asp:TemplateColumn>
         <asp:TemplateColumn HeaderText="未考勤天数">
          <ItemTemplate>
          <%# GetGridData(((DataRowView)Container.DataItem)["UID"].ToString(), 3)%>
          </ItemTemplate>
         </asp:TemplateColumn>
         <asp:TemplateColumn HeaderText="总考勤天数">
          <ItemTemplate>
           <%# GetGridData(((DataRowView)Container.DataItem)["UID"].ToString(), 4)%>
          </ItemTemplate>
         </asp:TemplateColumn>
        </Columns>
                            <PagerStyle Mode="NumericPages" />
       </asp:datagrid></TD>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值