Blog Home  Home Feed your aggregator (RSS 2.0)  
kevin Mocha - DataGrid DataBounds Column examples
Bookmarks collected from web.
 
 Tuesday, November 06, 2007

<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);
            }
        }

Tuesday, November 06, 2007 9:42:39 PM UTC  #    Comments [0]    |   |  Trackback
Copyright © 2009 Kevin Mocha. All rights reserved.
DasBlog 'Portal' theme by Johnny Hughes.
Pick a theme: