GridView:在绑定到GridView之前转换数据

时间:2009-10-13 08:52:30

标签: asp.net

我的GridView使用以下数据绑定语法来绑定数据。 我希望在它真正绑定到GridView之前进行数据转换。例如,如果VendorID int属性(我使用List作为数据源)为0,我希望在该字段上显示空字符串。 我可以利用什么样的事件?如果您可以建议任何代码示例?

非常感谢。

        <asp:TemplateField HeaderText="Vendor ID">
            <ItemStyle Width="1%" BorderColor="#efefef" BorderWidth="1px" />
            <ItemTemplate>
                <asp:Label runat="server" ID="lblNo" Text='<%# Bind("VendorID") %>'></asp:Label>
            </ItemTemplate>
            <HeaderStyle BorderColor="#efefef" />
        </asp:TemplateField>

2 个答案:

答案 0 :(得分:1)

Gridview RowDataBound事件可用于此。

void GridView1_RowDataBound(Object sender, GridViewRowEventArgs e)
  {

    if(e.Row.RowType == DataControlRowType.DataRow)
    {
      // do wat ever u like to do here. 
      // formating, checking, changing data, etc....

      e.Row.Cells[1].Text = "<i>" + e.Row.Cells[1].Text + "</i>";

    }

  }

答案 1 :(得分:1)

您可以在 RowDataboundEvent

中使用以下代码
  if (DataBinder.Eval(args.Row.DataItem, "VendorID").ToString() == "0")
    {
        ((Label)args.Row.FindControl("lblNo")).Text = "";
    }
    else
    {
        ((Label)args.Row.FindControl("lblNo")).Text = DataBinder.Eval(args.Row.DataItem, "VendorID").ToString();
    }