Forms Data Controls :: Filling A GridView And Its PageIndexChanging
Feb 14, 2010
In a webform I have two textbox (txtDNI and txtAPE), 2 buttons (b1 and b2), 1 gridview (myGV) and 2 functions (dt1 and dt2) that return a DataTable txtDNI will be a parameter for dt1 function and txtAPE will be a parameter for dt2 function
When I press b1 myGV will be fill with the dt1 function's datatable and when I press b2 myGV will be fill with the dt2 function's datatable myGV allows paging=true and when I press the next index (2 or other) It appears a PageIndexChanging error. So the pagination isn't automatic and I have to code the PageIndexChanging event When I use a ObjectDataSource and I connect it with myGV the PageIndexChanging error dessapears and the pagination is automatic The problem is the ODS only have a one selectfunction (dt1 or dt2) but not both and the configuration is on design time
The same happen with the PageIndexChanging event where I fill myGV again (with dt1 or dt2) and set the new index (myGV.PageIndex = e.NewPageIndex) and What is the problem?? ... the problem is, for example, when the user erase txtDNI and change index of pagination ... the PageIndexChanging event is fired and call the dt1 function but the txtDNI(parameter) is empty and occurs an error, the function returns an empty datatable and myGV is empty too for avoid this I create viewstates variables for each function, so I have a 2 viewstates and fill them when the user press b1 or b2 When user press the pagination, the PageIndexChanging event catch the viewstate variable and convert it into a datatable and the problem of the automatic pagination is controled The problem is I don't have 1GV in the webForm I have 5GV in some pages... and I try to avoid...
1. all the code in the PageIndexChanging events of each GV in the webform.
2. use the viewstate variables
I am working on object data source and datagridview. I have given object data source to the grid view as the data source of grid. The issue which i m facing is that whenever i click on next page(like 2 or 3 or 1) it takes lot of time to fire. although it is fired but I have to wait a minute or two and then it fired.
Whenever I click any event(e.g. next page , page 5 ,3 or edit etc) of gridview it does not give response. If I wait for a minute then click one of event then it performs, and then again I have to wait to fire other event.
when i select the page button the parameter value ourdataset.Tables("Products") is set to nothing ?
Protected Sub GridView1_PageIndexChanging1(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewPageEventArgs) Handles GridView1.PageIndexChanging GridView1.DataSource = SortDataTable(ourdataset.Tables("Products"), True)
i have a gridview which Pagesize set to 5. There will be some error while i click to page2, i knew it was caused by what but i got no good idea how to solve it.
Me.GridView.DataSource = DT.DefaultView Me.GridView.DataBind() For x As Integer = 0 To DT.Rows.Count - 1 If DT.Rows(x).Item("status") = "Verifying" Then Me.GridView.Rows(x).BackColor = Drawing.Color.Tomato ElseIf DT.Rows(x).Item("status") = "Processed" Then Me.GridView.Rows(x).BackColor = Drawing.Color.CadetBlue End If Next
I don't want to databind a gridview, I want to be able to add rows myself within c# code. I can see there is a GridViewRow object and wondered if I can use this to add/remove rows as required?
I need a GridView with 6 columns, one of which ("ItemID") is a HyperLink who's URL and text is determined from the C# code as I will get that data from an SQL database
INITIALLY, what I wanted to do, which would have been easy as pie, is:
[Code]....
HOWEVER, this does not work because every row in the Item ID column is filled with "System.Web.UI.WebControls.HyperLink". Apparently, this is what the HyperLink's toString() method returns. Apparently, you can't just throw a HyperLink into a DataRow and call it a day. I need to know how to make this ItemID column into such a HyperLink. It doesn't necessarily HAVE to be a HyperLink control, it just has to be able to call my javascript function on the aspx page, "popUp(URL)"
To give you a visualization of what I'm trying to achieve: this is a change log for an inventory system. The ItemID column indicates what item was altered. However, simply just having a number there doesn't say much, so I'm trying to create a link with the text, for example, "42 (motherboard x)". In other words reader["ItemID"] + " (" + reader["Description"] + ")", and that link will run a javascript function I have called popUp(URL) which takes a URL and opens it in a new window of specific size and location, to view that item's details.
I've tried various other methods such as disabling AutoGenerateColumns and manually create a HyperLinkField, but to no avail, because I couldn't get it to run my javascript function that way.
I am having an issue with hidden cells when a PageIndexChanging event is fired in a gridview.
On the page_load I am setting the visibility of an edit button in a cell of a gridview to true or false depending on a users credentials.
Everything works as intended when the page is first loaded. When I click to a different page index the edit button is visible in all cells when it shouldn't be. The edit button is then visible in all cells even if I navigate back to the first page.
I have a set of images which needs to be displayed horizontally on the page. When the set of images reaches the edge of the browser window, they need to continue being displayed horizontally even if it means a horizontal scroll bar is made (In fact it will almost always result in a horizontal scroll bar forming).
I have tried to find some way to get images to push of the side of the page but can find no way (using basic CSS) without defining a width on a container holding the images (eg. 8000px). This is not possible as the width is dynamic (more or less images may be displayed as they are added to the database)
So my solution in theory:
I now record the dimensions of the image in the database when it is uploaded to the server. Using a repeater, if I add together the width of each image as they are loaded then I can use this number to define the width of the container. Seems to make sense right?
The problem comes when I load the images. I am not great at using the Repeater at the best of times and once again it has got me stuck. I have used the Repeater ItemCreated in my code behind but my variable which I declare (dim i as integer = 1) appears to get reset each time.
When I tried in Repeater OnLoad it didn't seem to work either.
The scenario in question can be found here: [URL]
You can see I have responsed the variable in the top left and they are all 1, hence why I believe the variable is being reset.
i have a table containing multiple agents , another three containing events ( three types of events , each category in a diffrernt table) organised by each agents! , i have to figure out how to fill a grid view that regroups a summary of the activity of every agent ! for example :
that means that the agent 1 have organised 3 EVENT1 0 EVENT2 and 2 EVENT3 ....
i have used the count(*) clause to fgure out the number of rows in table events referencing to each agent (group by) but it seems that value 0 is not returned by the clause , so i'm having a problem getting the exact values!
secondal , i have putted two calendar that will fix the beginnig and the end of the summary , but it seems that the end day is not included : it says 18/01/2010 00:00:00 and i have some events planned in 18/10/2010 14:10:00 so they are not counted !
on the form i have one dropdown and search button. Accroding to selected value of dropdownlist, on pressing search button user will see results in gridview.now in after the result is shown and user selects say page 2 then results are shown of page 2. But then if i select new dropdownlist value and press search, it shows result but directly goes to page 2(last time's page selected) instead of showing page 1....
I need to create a display grid of picture cells 5 columns by rows determined by database select. Each cell to contain picture, title, name, phone number pulled from database. How do I create a table like structure and populate it? Can a DetailsView control be called into each table cell with the table row count being determined by the same select statement?
I have a gridview which I am using to display a dataset result. The problem is I am using paging in it. But when I click on the page # it says that I haven't handled the event. Do I need to rebind the dataset?
I have a Web User Control that is sitting in a Tabcontainer on a web page. The user control is on tab 1 and has a listview control in it. In the listview control I have a textbox called txtWorkOrderID. In tab 2 I have a gridview with a button in one of the columns. When the button is clicked I want to grab the ID from the row I'm on and fill the txtWorkOrderID with it on tab 1. I've got things to work as far as grabing the ID and switching back to tab 1, but I keep getting a null reference when I try to put the value into the txtWorkOrderID which tells me its not finding the control. I am using .netVB in VS10. how to reference the textbox in the control on tab 1. here is what I have so far. [Code]....
I need to programmatically fill DropDownList in FormView and can't find the proper event to do it. I keep getting "'GenreList' has a SelectedValue which is invalid because it does not exist in the list of items" or "Bind, Eval can only be used in databound control" depending on the event. Sample code follows (there's no attempts to bind a DropDownList there ):
I have a GridView that uses custom paging inside an UpdatePanel (so that the paging and sorting of the gridview don't cause postback). The sorting works fine, but the paging doesn't. The PageIndexChanging event is never called. This is the aspx code:
<asp:UpdatePanel runat="server" ID="upSearchResults" ChildrenAsTriggers="true" UpdateMode="Always"> <ContentTemplate> <asp:GridView ID="gvSearchResults" runat="server" AllowSorting="true" AutoGenerateColumns="false" AllowPaging="true" PageSize="10" OnDataBound="gvSearchResults_DataBound" OnRowDataBound ="gvSearchResults_RowDataBound" OnSorting="gvSearchResults_Sorting" OnPageIndexChanging="gvSearchResults_PageIndexChanging" Width="100%" EnableSortingAndPagingCallbacks="false"> <Columns> <asp:TemplateField HeaderText="Select" HeaderStyle-HorizontalAlign="Center"> <ItemTemplate> <asp:HyperLink ID="lnkAdd" runat="server">Add</asp:HyperLink> <asp:HiddenField ID="hfPersonId" runat="server" Value='<%# Eval("Id") %>'/> </ItemTemplate> </asp:TemplateField> <asp:BoundField HeaderText="First Name" DataField="FirstName" HeaderStyle-HorizontalAlign="Center" ItemStyle-HorizontalAlign="Center" SortExpression="FirstName" /> <asp:BoundField HeaderText="Last Name" DataField="LastName" HeaderStyle-HorizontalAlign="Center" ItemStyle-HorizontalAlign="Center" SortExpression="LastName" /> <asp:TemplateField HeaderText="Phone Number" HeaderStyle-HorizontalAlign="Center" ItemStyle-HorizontalAlign="Center" > <ItemTemplate> <asp:Label ID="lblPhone" runat="server" Text="" /> </ItemTemplate> </asp:TemplateField> </Columns> <PagerTemplate> <table width="100%" class="pager"> <tr> <td> </td> </tr> </table> </PagerTemplate> </asp:GridView> <div class="btnContainer"> <div class="btn btn-height_small btn-style_dominant"> <asp:LinkButton ID="lbtNewRecord" runat="server" OnClick="lbtNewRecord_Click"><span>Create New Record</span></asp:LinkButton> </div> <div class="btn btn-height_small btn-style_subtle"> <a onclick="openParticipantModal();"><span>Cancel</span></a> </div> </div> </ContentTemplate> <Triggers> <asp:AsyncPostBackTrigger ControlID="gvSearchResults" EventName="PageIndexChanging" /> <asp:AsyncPostBackTrigger ControlID="gvSearchResults" EventName="Sorting" /> </Triggers> </asp:UpdatePanel> In the code behind I have a SetPaging method that is called on the GridView OnDataBound event: private void SetPaging(GridView gv) { GridViewRow row = gv.BottomPagerRow; var place = row.Cells[0]; var first = new LinkButton(); first.CommandName = "Page"; first.CommandArgument = "First"; first.Text = "First"; first.ToolTip = "First Page"; if (place != null) place.Controls.Add(first); var lbl = new Label(); lbl.Text = " "; if (place != null) place.Controls.Add(lbl); var prev = new LinkButton(); prev.CommandName = "Page"; prev.CommandArgument = "Prev"; prev.Text = "Prev"; prev.ToolTip = "Previous Page"; if (place != null) place.Controls.Add(prev); var lbl2 = new Label(); lbl2.Text = " "; if (place != null) place.Controls.Add(lbl2); for (int i = 1; i <= gv.PageCount; i++) { var btn = new LinkButton(); btn.CommandName = "Page"; btn.CommandArgument = i.ToString(); if (i == gv.PageIndex + 1) { btn.BackColor = Color.Gray; } btn.Text = i.ToString(); btn.ToolTip = "Page " + i.ToString(); if (place != null) place.Controls.Add(btn); var lbl3 = new Label(); lbl3.Text = " "; if (place != null) place.Controls.Add(lbl3); } var next = new LinkButton(); next.CommandName = "Page"; next.CommandArgument = "Next"; next.Text = "Next"; next.ToolTip = "Next Page"; if (place != null) place.Controls.Add(next); var lbl4 = new Label(); lbl4.Text = " "; if (place != null) place.Controls.Add(lbl4); var last = new LinkButton(); last.CommandName = "Page"; last.CommandArgument = "Last"; last.Text = "Last"; last.ToolTip = "Last Page"; if (place != null) place.Controls.Add(last); var lbl5 = new Label(); lbl5.Text = " "; if (place != null) place.Controls.Add(lbl5); }
The paging works if I don't use custom paging, but I really need to use the custom paging. I can't figure out why the PageIndexChanging event isn't fired when I'm using the custom paging.
Codebehind: creating dataset, getting data from sql with adaptor and filling into dataset object, then setting detailsview's datasource. I add 2 button to above template to able to edit data at asp page, and added event handlers:buttons:
[Code]....
My question is, what to do inside the detailsview update event function to able to edit and update data. My method can be wrong too.
I have created a crystal report using dataset(.xsd) in asp.net,c#. It is working fine on local machines and my local machine IIS. on my local machine windows7 is installed. When I uploading it on on windows 8 IIS then data is not coming. Dataset is not filling on windows8 IIS.