<asp:GridView ID="GridViewYardSales" runat="server" CssClass="yui-datatable-theme"
AutoGenerateColumns="false" DataSourceID="YardSaleDataSource" AllowSorting="true"
OnRowCommand="GridViewYardSales_RowCommand" OnRowCreated="GridViewYardSales_RowCreated"
DataKeyNames="ItemId">
<RowStyle CssClass="data-row" />
<AlternatingRowStyle CssClass="alt-data-row" />
<Columns>
<asp:BoundField DataField="ItemId" HeaderText="ItemId" ReadOnly="True" SortExpression="ItemId"
Visible="false"></asp:BoundField>
<asp:TemplateField ItemStyle-HorizontalAlign="Center" ItemStyle-Width="20px">
<ItemTemplate>
<asp:LinkButton ID="LinkButtonViewOnMap" runat="server" OnClientClick=<%# String.Format("javascript:ViewOnMapById('{0}');", Eval("ItemId")) %>>
Map</asp:LinkButton><br />
<asp:LinkButton ID="LinkButtonItinerary" runat="server" CommandName="Command_Itinerary"
CommandArgument='<%# Eval("ItemId") %>'>Itinerary </asp:LinkButton><br />
<asp:LinkButton ID="LinkButtonViewDetail" runat="server" CommandName="Command_ViewItemDetail"
CommandArgument='<%# Eval("ItemId") %>'>Detail
</asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Title">
<ItemTemplate>
<%# Eval("Title") %><br />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Date">
<ItemTemplate>
<%# Eval("Time") %>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
protected void GridViewYardSales_RowCreated(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
//Retrieve LinkButton control
int m_RowIndex = e.Row.RowIndex;
string id = GridViewYardSales.DataKeys[m_RowIndex].Value.ToString();
LinkButton lb = (LinkButton)e.Row.FindControl("LinkButtonItinerary");
if (IsItemAlreadyInItinerary(id))
{
lb.Text = "Remove";
}
else
{
lb.Text = "Add";
}
}
}
protected void GridViewYardSales_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "Command_Itinerary")
{
string id = e.CommandArgument.ToString();
GridViewRow selectedRow = (GridViewRow)(((Control)e.CommandSource).NamingContainer);
LinkButton lb = (LinkButton)selectedRow.FindControl("LinkButtonItinerary");
if (!IsItemAlreadyInItinerary(id))
{
AddItemToItinerary(id);
lb.Text = "Remove";
}
else
{
RemoveItemFromItinerary(id);
lb.Text = "Add";
}
}
else if (e.CommandName == "Command_ViewItemDetail")
{
string id = e.CommandArgument.ToString();
Response.Redirect("ViewSale.aspx?id=" + id);
}
}