Forms Data Controls :: How To Display Results From Database On A Gridview
Jan 17, 2011
I am using visual studio 2010, asp.net 4.0 (c#)
My problem is:
How do I display results from my database on a gridview based on the selected row of another gridview.
For example, I have a e-shop web app and I have a product categories table in my database displaying the data on a gridview.
I want to be able to click on the select button on each row and use that event to populate another gridview based on the ID of the product category that is clicked. E.g say the 'CDs' row is clicked, another gridview shows all the different CDs.
As a result, I need the select(sql) statement for the second table to be dynamic based on what the user clicks.
I have a page where I will insert all the data into the database. The page where I'm having problems is when I select an item from the checkboxlist it only displays one item. The data which is displayed is only the one that was inserted with one selected item from the checkboxlist. The following code is the page I'm using to try to retrieve the data from the database. I am trying to do is when a user selects the first, second, or third, or fourth item. The corresponding data appears in the gridview. In my current code, the record which has one item selected appears. If the user has more than one selected it does not appear. It comes up as empty. Is there a way I can do it?
I need a query to fetch records from data from database based on partial text entered in textbox like search data from College table based on College Name entered in text box. I want that all record containing that College name displayed in grid view.
I want to search record based on Name, ID, Date, Report Type. from same table with one textbox. I can do search with one column how can do it with multiple column ...
protected void Button2_Click(object sender, EventArgs e) { DateTime dt = Convert.ToDateTime(TextBox1.Text); SqlCommand cmd = new SqlCommand("SELECT * FROM Transactions where report_type = @report_type "); cmd.Connection = con;
I have a button called Next outside the GridView. If I click on Next, I want to highlite the 2nd row and display the details of the 2nd row below in panel. If again I click on Nextm i want to highlite 3rd row and want to display 3rd row results in a panel
I have enabled User Rolls and assigned several Roll names such as 10, 11, 12, etc. I have a SQL Table that contains various fields of information including one named AuthorizedUserRoll, it's nchar(2).
A logged in user should only see the records in Gridview that matches his/her roll.
Not sure if this is for SQL or .net! I have 3 tables which looks like
table1 ID Name 1 Jon
and
table2 ID Number Job 1 1 IT 2 1 Web 3 1 Admin
table1 ID ContractType 1 Temp 1 Perm
An inner join makes one table with 3 rows (I excluding the ID from table 2 for the join) which is saved as a view
viewTable ID Name Number Job ContractType 1 Jon 1 IT Temp 2 Jon 1 Web Temp 3 Jon 1 Admin Temp 4 Jon 1 IT Perm 5 Jon 1 Web Perm 6 Jon 1 Admin Perm
I want to display these results on a web page via the grid view. However, I don't want to show the user 6 times! I want to show the user name once, the contract type once and each Job! What is the best way to do this? Is there a fault with the database design already? I assume the easiest answer is to not join them in a view but query each section 3 times from the website but I'd rather 1 connection only!
After saving image in db how can we retrieve it in gridview like thumbnail size image and by clicking on image in gridview its open as preview. How can we do this in asp.net using c#.
I have DataPager and ListView in one page aspx. DataPager is working if I do not search item. DataPager is not working to display the searching reasults. Below is the complete code in one page aspx. I am using VS 2008.
I'm new in storing and displaying image to database.I have learn how to store image into my database from a site and seems like it work, and the image is store as binary data.Now i try to retrieve and store it, using a site as a reference
My problem is i follow everything but in the end it seems the gridview do work as it shown some data from the database but for the image, only show a small red cross "unable to show image" sign there.
My storing data and uploading image to database code (Just in case)
i have a gridview binded to a database(MySql), with a column ID.now what i want is that when some clicks that ID(Unique) the data corresponding to that ID should be displayed in individual textboxes.
ie
1 Alok 25 9899898989 India
now what i want is if someone clicks 1 then all data should be displayed in databoxes assigned to all fields.
I have a datalist and want the results paged I have written a pager.ascx page and have an aspx and aspx.cs page to display the results. I have a stored procedure to pull the data out of the database and a class to talk between the stored procedure and presentation controls I have the pager being displayed when the results get over the limit I have set to 10 in the web.config file but when i click on the next link to display the next page of results it doesn't do anything. my aspx page is
<uc1:Pager ID="topPager" runat="server" Visible="False" /> <asp:DataList ID="newsList" runat="server" CssClass="List" align="center"> <ItemStyle CssClass="ItemList" /> <ItemTemplate> <h2><%# Eval("Title") %></h2> <p>Posted <%# Eval("Date") %></p> <p><%# Eval("News").ToString().Replace(" ", "<br />") %></p> </ItemTemplate> </asp:DataList> <uc1:Pager ID="bottomPager" runat="server" Visible="False" /> my aspx.cs page is protected void Page_Load(object sender, EventArgs e) { // Retreive page from the query string string page = Request.QueryString["Page"]; if (page == null) page = "1"; // How many pages of posts int howManyPages = 1; // pager links format string firstPageUrl = ""; string pagerFormat = ""; //DataAccess.GetNews returns a DataTable object containing news data which is read into datalist newsList.DataSource = DataAccess.GetNews(page, out howManyPages); // Bind the data to the data source newsList.DataBind(); // have the current page as interger int currentPage = Int32.Parse(page); // Display pager controls topPager.Show(int.Parse(page), howManyPages, firstPageUrl, pagerFormat, false); bottomPager.Show(int.Parse(page), howManyPages, firstPageUrl, pagerFormat, true); } my pager.ascx page is <p> Page <asp:Label ID="currentPagelabel" runat="server" /> of <asp:Label ID="howManyPageLabel" runat="server" /> | <asp:HyperLink ID="previousLink" runat="server">Previous</asp:HyperLink> <asp:Repeater ID="pagesRepeater" runat="server"> <ItemTemplate> <asp:HyperLink ID="hyperlink" runat="server" Text='<%# Eval("Page") %>' NavigateUrl='<%# Eval("Url") %>' /> </ItemTemplate> </asp:Repeater> <asp:HyperLink ID="nextLink" runat="server">Next</asp:HyperLink> </p> my pager.aspx.cs page is using System; // Simple struct that represents a (page number, url) association public struct PageUrl { private string page; private string url; // Page property definition public string Page { get { return page; } } // Url property definition public string Url { get { return url; } } // Constructor public PageUrl(string page, string url) { this.page = page; this.url = url; } } // The pager control public partial class UserControls_Pager : System.Web.UI.UserControl { protected void Page_Load(object sender, EventArgs e) { } // Show the pager public void Show(int currentPage, int howManyPages, string firstPageUrl, string pageUrlFormat, bool showPages) { // Display paging controls if (howManyPages > 1) { // make the pager visable this.Visible = true; // Display the current page currentPagelabel.Text = currentPage.ToString(); howManyPageLabel.Text = howManyPages.ToString(); // Create the Previous link if (currentPage == 1) { previousLink.Enabled = false; } else { previousLink.NavigateUrl = (currentPage == 2) ? firstPageUrl : String.Format(pageUrlFormat, currentPage - 1); } // Create the Next link if (currentPage == howManyPages) { nextLink.Enabled = false; } else { nextLink.NavigateUrl = String.Format(pageUrlFormat, currentPage + 1); } // Create the page links if (showPages) { // The list of pages and their URLs as an array PageUrl[] pages = new PageUrl[howManyPages]; // Generate (page, url) elements pages[0] = new PageUrl("1", firstPageUrl); for (int i = 2; i <= howManyPages; i++) { pages[i - 1] = new PageUrl(i.ToString(), String.Format(pageUrlFormat, i)); } // Do not generate a link for current page pages[currentPage - 1] = new PageUrl((currentPage).ToString(), ""); // Feed the pages to the repeater pagesRepeater.DataSource = pages; pagesRepeater.DataBind(); } } } } my class file is // Retreive the list of news posts public static DataTable GetNews(string pageNumber, out int howManyPages) { // Get a configured DbCommand object DbCommand comm = GenericDataAccess.CreateCommand(); // Set the stored procedure name comm.CommandText = "GetNews"; // create a new parameter for page number DbParameter param = comm.CreateParameter(); param.ParameterName = "@PageNumber"; param.Value = pageNumber; param.DbType = DbType.Int32; comm.Parameters.Add(param); // create a new parameter for products per page param = comm.CreateParameter(); param.ParameterName = "@PostsPerPage"; param.Value = PlatiumMindProductionsConfiguration.PostsPerPage; param.DbType = DbType.Int32; comm.Parameters.Add(param); param = comm.CreateParameter(); param.ParameterName = "@HowManyPosts"; param.Direction = ParameterDirection.Output; param.DbType = DbType.Int32; comm.Parameters.Add(param); // Execute the stored procedure and saven the results in a DataTable DataTable table = GenericDataAccess.ExecuteSelectCommand(comm); // Calculate how many pages of posts and set the out parameter int howManyPosts = Int32.Parse(comm.Parameters["@HowManyPosts"].Value.ToString()); howManyPages = (int)Math.Ceiling((double)howManyPosts / (double)PlatiumMindProductionsConfiguration.PostsPerPage); // return the page of posts return table; } my stored procedure is ALTER PROCEDURE [dbo].[GetNews] (@PageNumber INT, @PostsPerPage INT, @HowManyPosts INT OUTPUT) AS -- Declare a new table DECLARE @News TABLE (RowNumber INT, NewsID INT, Title NVARCHAR(50), Date DATETIME, News NVARCHAR(MAX)) -- Populate the table with the complete list INSERT INTO @News SELECT ROW_NUMBER() OVER (ORDER BY NewsID desc), NewsID, Title, Date, News FROM News -- return the total number of posts SELECT @HowManyPosts = COUNT(NewsID) FROM News -- extract the request page of posts SELECT NewsID, Title, DATE, News FROM @News WHERE RowNumber > (@PageNumber - 1) * @PostsPerPage AND RowNumber <= @PageNumber * @PostsPerPage
I have a grid view attached to a custom query. The query selects data and the address data in the database is split into different fields like street_address1, mail_zip etc. etc. What I would like to do is display all the address data fields in my database in one field on the Grid View.
I have two columns in database name of the image(varchar) and image(BLOB) and i have inserted images into database.now i need to display on grid-view control. am banging my head since one day by searching and i have used handler but no use.
I'm not sure how to search for what I'm seeking, so I'm hoping to be pointed in the right direction.
I have 4 gridviews that contain the same 3 rows of data. For each gridview, I need to create a seperate gridview that will do some calculated values on the parent gridview like A3-A1, to put it in spreadsheet terms.
And at the very bottom I will have a total gridview control that will sum up each row from the parent gridviews. And under that gridview a final gridview to perform the A3-A1 calculation.
I would like to query a DB and output the results to the webpage. What is the best way to do this while avoiding gridview, etc?
So far I have the following code: (which works)
sqlLookup = "SELECT * FROM locations"; string connectionString = WebConfigurationManager.ConnectionStrings["LocationDatabaseConnectionString"].ConnectionString; SqlConnection myConnection = new SqlConnection(connectionString); myConnection.Open(); SqlCommand myCommand = new SqlCommand(sqlLookup, myConnection); SqlDataReader myReader = myCommand.ExecuteReader(); while (myReader.Read()) { locationCode = myReader["locationCode"].ToString(); locationName = myReader["locationName"].ToString(); notes = myReader["notes"].ToString(); }
In the past I used to inject HTML into a DIV element via the WHILE loop but this always creates a huge delay when renering the page. Is there a better method?
I haven't been using asp.net for that long and i am wondering if i can use a datalist, repeater, etc to pull data from a database, into one of these, but then group them by group with expandable boxes.
I have a SQL database set up, it will be used to list applications upon a webpage. e.g. office.
So colums are id, pro_name, pro_link, group_name, icon_name
I can extract the data but i am unsure on how to get it to display in the way that i want, as i wish it to show it so it is like below
Gridview is not being populated now that i built my objectdatasource in the code behind.. why. If i build the source on the aspx page and configure it that way, it returns results.. but when i try to build it in the code behind it just displays my empty template for the gridview.