如何将gridview中的记录标记为已读和未读

时间:2016-03-10 07:41:52

标签: c# asp.net gridview records rowdatabound

enter image description here

这是我的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 
    }

谢谢。

1 个答案:

答案 0 :(得分:1)

首先,您需要在ur db中为ReadStatus(1/0)添加一列, 然后make在你的aspx页面中作为隐藏字段。

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;
        }
    }
}

在你的网格rowdataboun中,只需粘贴此代码。它适用于我

var app = angular.module('app', [])
app.controller("ctrl", function ($scope, $http) {
    $scope.files = [];
    var promise = $http.get("link1")
        .then(function (response) {
            console.log(response);
            $scope.getfiles = response.data;
            return $http.get('link2', {
                params: {
                    id: response.data[0].Id
                }
            })
        })
    .then(function (response2) {
        console.log(response2);
        $scope.files = response2.data;
        return response2.data;
    })
})