簡體   English   中英

如何將GridView中的記錄標記為已讀和未讀

[英]How to mark records in gridview as read and unread

在此處輸入圖片說明

這是我的GridView1。 我希望突出顯示最新記錄,並在用戶單擊授權號(該用戶查看了下一頁中的記錄)后,該行將不突出顯示(表示用戶查看記錄后,該行恢復正常,不突出顯示)沒有粗體)。

我當前的進展是,我在數據庫中創建了一個名為ReadStatus的新位字段,默認值為0。接下來,我需要執行onrowdatabound編碼才能實現這一點。

第一個問題是,我在讀取所有列時是否需要讀取位列(ReadStatus)?AuthorizationNo,ProductID,Name,Qty,---(ReadStatus)? 我應該在這段代碼中閱讀ReadStatus嗎?

           / /READING RECORD FROM TABLE TRACK_ITEM
            while (reader.Read())
            {
                MerchantProduct merchantProduct = new MerchantProduct();
                merchantProduct.TxID = reader["TxID"].ToString();
                merchantProduct.ProductID = reader["ProductID"].ToString();
                merchantProduct.Name = reader["ProductName"].ToString();
                merchantProduct.Qty = Convert.ToInt32(reader["Qty"]);

                listLatestProduct.Add(merchantProduct);
            }
            return listLatestProduct;

其次,有人可以向我展示在onrowdatabound中進行編碼的正確方法嗎?

    protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
    {
           //Tried many code here but none is working 
    }

謝謝。

首先,您需要在ur db中為ReadStatus(1/0)添加一列,然后在aspx頁中將make作為hiddenfield。

               <asp:TemplateField HeaderText="ReadStatus" Visible="false">
                                              <ItemTemplate>
                                                      <asp:Label ID="readStatus" runat="server"></asp:Label>
                                                      <asp:HiddenField ID="readStatusHiddenField" runat="server" Value='<%#Eval("ReadStatus") %>'/>
                                                  </ItemTemplate>
                                              </asp:TemplateField>

在您的網格rowdataboun中,只需粘貼以下代碼即可。

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
    // searching through the rows
    if (e.Row.RowType == DataControlRowType.DataRow)
    {
        int reading = Convert.ToInt32(((HiddenField)e.Row.FindControl("readStatusHiddenField")).Value);
        if (reading == 0)
        {
            e.Row.BackColor = Color.LightGray;
            e.Row.Font.Bold = true;
        }
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM