KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I am using ASP.NET 4.0 with C# (Visual Web Developer 2010 Express). I have successfully managed to implement a simple GridView bound to a stored procedure data source using declarative ASP.NET code as shown here: <asp:GridView ID="grdTrades" runat="server" DataKeyNames="tradeId" EnablePersistedSelection="true" SelectedRowStyle-BackColor="Yellow" AllowPaging="true" AllowSorting="true" PageSize = "20" AutoGenerateColumns="false" DataSourceID="sdsTrades" > <Columns> <asp:CommandField ShowSelectButton="true" ButtonType="Link" SelectText="Select" /> <asp:BoundField DataField="tradeId" HeaderText="TradeId" ReadOnly="True" SortExpression="tradeId" /> < ... more columns ... > </Columns> </asp:GridView> <asp:SqlDataSource ID="sdsTrades" runat="server" ConnectionString="<%$ ConnectionStrings:TradesDB %>" ProviderName="<%$ ConnectionStrings:Trades.ProviderName %>" SelectCommand="usp_GetTrades" SelectCommandType="StoredProcedure"> </asp:SqlDataSource> It works great including paging and sorting. I want to remove the SqlDataSource and use code-behind (I'm trying to put database access code in one place). So far I have this in my code-behind: protected void Page_Load(object sender, EventArgs e) { if (!this.IsPostBack) { grdTrades.SelectedIndex = 0; DBUtil DB = new DBUtil(); grdTrades.DataSource = DB.GetTrades(); grdTrades.DataKeyNames = new string[] { "tradeId" }; grdTrades.DataBind(); } } // this is needed otherwise I get "The GridView 'grdTrades' fired event PageIndexChanging which wasn't handled." void grdTrades_PageIndexChanging(Object sender, GridViewPageEventArgs e) { grdTrades.PageIndex = e.NewPageIndex; grdTrades.DataBind(); } My declarative code
Tags (comma-separated)
Save Edits
Cancel