我想在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
}
答案 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然后我们的逻辑工具。
同样的逻辑也适用于页眉和页脚,但理想情况下我们只应该用于数据行。