获取有关数据列表中奇数记录数的正确数据

本文关键字:数据 记录 列表 获取 | 更新日期: 2023-09-27 18:18:31

我有一个数据列表,其中有一个显示日期时间的标签,并且在数据列表中有一个网格。问题是我得到了时间的所需格式(例如 1:48 AM(和网格内的数据仅在奇数记录上,例如 1 3 5 7 条记录是正确的,2 4 6 7 在网格中显示空记录,标签也显示不正确的格式(10/21/2015 1:48:20 AM(。这是代码。onitemDataBound 事件

protected void dataListOrder_ItemDataBound(object sender, DataListItemEventArgs e)
        {
            if(e.Item.ItemType==ListItemType.Item)
            {
                Label date = e.Item.FindControl("lblOrderDate") as Label;
                string[] datesplit = date.Text.Split(' ');
                string time =string.Concat(datesplit[1]+" "+datesplit[2]);
                date.Text = time.ToString();
                int order_ID = Convert.ToInt32((e.Item.FindControl("orderid") as HiddenField).Value);
                GridView innerDataList = e.Item.FindControl("datalistOrderDetails") as GridView;
                string cs = ConfigurationManager.ConnectionStrings["SqlConnection"].ConnectionString;
                using (SqlConnection con = new SqlConnection(cs))
                {
                    DataTable orderDetailDT = new DataTable();
                    con.Open();
                    string orderDetail = "select ItemName,Quantity from Order_Details where Order_ID=" + order_ID + "";
                    SqlCommand cmd = new SqlCommand(orderDetail, con);
                    cmd.CommandType = CommandType.Text;
                    SqlDataAdapter orderDetailDA = new SqlDataAdapter(cmd);
                    orderDetailDA.Fill(orderDetailDT);
                    innerDataList.DataSource = orderDetailDT;
                    innerDataList.DataBind();
                }


            }
        }

注意:我还尝试在aspx文件中使用字符串格式来实现我想要的时间格式,但它不起作用

<asp:Label ID="lblOrderDate" runat="server" Text='<%#Eval("OrderDate","{0:t}") %>'.

请指导我代码中的问题为什么它只显示奇数号的数据。谢谢

获取有关数据列表中奇数记录数的正确数据

您可能需要将条件从

if (e.Item.ItemType==ListItemType.Item)

if (e.Item.ItemType==ListItemType.Item || e.Item.ItemType==ListItemType.AlternatingItem)