如何在行数据绑定事件

时间:2015-09-02 04:51:28

标签: c# asp.net gridview

我想在gridview中隐藏手机号码的最后4位数字,并将最后4位数字显示为****。我只得到标题值而不是项目模板值。如何获取移动值/项值并对其进行编辑并分配给网格视图?

protected void gvrequests_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        string Mobile = e.Row.Cells[3].Text;
        string securedPhone = Mobile .Remove(6);
        string MobileSecured= securedPhone + "****";
        e.Row.Cells[3].Text=MobileSecured
     }

3 个答案:

答案 0 :(得分:1)

您需要首先检查行是否为DataRow或不是这样。

protected void gvrequests_RowDataBound(Object sender, GridViewRowEventArgs e)
    {
        if (e.Row.RowType == DataControlRowType.DataRow)
        {
          // your logic will go here
        }
   }

答案 1 :(得分:1)

protected void gvrequests_RowDataBound(object sender,GridViewRowEventArgs e)     {

    foreach (TableCell tc in e.Row.Cells)
    {

        tc.Attributes["style"] = "border-color: #87CEFA";

    }

    if (e.Row.RowType == DataControlRowType.DataRow)
    {
        string Mobile = e.Row.Cells[3].Text;

        string securedPhone = Mobile .Remove(6);
       string MobileSecured= securedPhone + "****";
        e.Row.Cells[3].Text = MobileSecured;
    }
}

答案 2 :(得分:0)

RowDatabBound甚至在每一行上触发意味着标题行,数据行(也是备用行)和页脚行。

所以,当你想要操纵数据时,正如@Sain建议的那样,你检查它是datarow然后我们的逻辑工具。

同样的逻辑也适用于页眉和页脚,但理想情况下我们只应该用于数据行。