在Code中更改GridView的DataItem - 可能吗?

时间:2012-09-05 21:00:49

标签: c# asp.net html

如何将GridView中的DataItem“AmountCollected”更改为Code Behind中的其他内容。我想根据某些条件将DataItem更改为Balance,我想知道它是否可以完成?!!这是使用VS 2005使用c#和HTML。

先谢谢!!

<asp:TemplateField ItemStyle-Width="70" ItemStyle-HorizontalAlign="Center">
<ItemTemplate>
     $<asp:Label ID="lblTotalCollected" runat="server" Text='<%#DataBinder.Eval(Container.DataItem,"AmountCollected") %>'></asp:Label>
</ItemTemplate>

1 个答案:

答案 0 :(得分:0)

RowDataBound设置GridView个活动。该事件将针对数据源中的每个项目运行,您可以根据您的条件修改每一行。

public void myGridView_RowDataBound(object sender, GridViewRowEventArgs e)
{
    if (e.Row.RowType != DataControlRowType.DataRow)
    {
        return;
    }

    Label myLabel = e.Row.FindControl("lblTotalCollected") as Label;
    MyClass myDataItem = e.Row.DataItem as MyClass;
    if(...)
    {
        myLabel.Text = myDataItem.Balance;
    }
    else
    {
        myLabel.Text = myDataItem.AmountCollected;
    }
}