Searching in C# Gridview - c#

I have a grid view which display all of my saved data. When I click on date search button, data bind in grid view of particular date that I typed in text box. But when I try to go next page by clicking grid view pager button, grid view date bind all page of saved date. It's not binding data of that particular date. Please help me...

you can implement PageIndexChanging as below.
protected void GridViewExtUsers1_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
// Set the index of the new display page.
GridView1.PageIndex = e.NewPageIndex;
// Rebind the GridView control
// if on search mode bind search results
// otherwise bind all data.
// implement your logic in different method
BindGridView();
}

Related

Paged GridView Only Populates First Page

I have populated a GridView using the following method:
List<MyObject> items = new List<MyObject>();
// here I am filling the list using SQL
PanelGridView.DataSource = items; //fill GridView with objects, this works when NOT using paging
PanelGridView.DataBind();
With this, and paging disabled, I have a fully populated GridView. However, when I turn on paging, the first page is filled, but all subsequent pages are empty. How can I make sure all of the items are accounted for, and divided properly among the pages (given the page size I've specified)?
EDIT: I forgot to include this code:
protected void PanelGridView_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
PanelGridView.PageIndex = e.NewPageIndex;
PanelGridView.DataBind();
}
Make sure you databind the grid after changing the page and also make sure to set the page index to the new page index. This is done in the PageChanging event handler.

how to update gridview based on dropdownlist item

I am creating a web page that contains one Dropdownlist and Gridview.
Query is Dropdownlist will contains SQL Server database table list. When I select a table name from dropdownlist the Gridview needs to show entire table data and able to perform edit, update, delete, cancel actions.
When I click edit, Gridview need to show Update and Cancel buttons and it update should update dropdownlist table and also delete.
Please any one can help.
Thanks in advance.
You have to rebind your grid view on selected index changed of dropdown
like this
protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
gridview.DataSource = dataSource;
gridview.DataBind();
}
where datasource is your database query result
You must hook in changing dropdoenlist and then update your grid
protected void YourDropDownList_SelectedIndexChanged(object sender, EventArgs e)
{
YouGridview.DataSource = YourdataSource;
YouGridview.DataBind();
}

Edit command from Gridview to Formview

I've got a Gridview that lists some SQL data.
And i've got a Formview setup with edit template.
I then want a LinkButton in Gridview, to open edit in formview, with the selected entry in gridview.
I've got this to capture my edit command from Gridview, but how i then trigger my Formview i dont know?
public void newsEdit_Command(Object sender, CommandEventArgs e) {
//Trigger formview edit from here...
//e.CommandArgument contains my ID of the selected row in gridview.
}
In the way you want, i think it is not possible.
You can do it in a simple way as:
1) Show Data in a grid view, When a user selects a row in the grid view, show that row data in the form view ( or you can use a details view )
2) After displaying data in form view, Now edit it's row.

DropDownList not issues in asp.net

I have two DropDownList which are being populated from a database(SQL) on Page_Load. Now I want to take the Text/Value selected from each DropDownList and insert them into a database. But when I click on the button and the OnClick Event is action the DropDownLists go back to the original state and not the selected values get inserted, instead I get the first Text/Value of the DropDownList all the time. How can I prevent this from happening? Any help will really appreciate it.
I'm using C# for this.
Thanks
In page load, load up the dropdowns like this
protected void Page_load(object sender, EventArgs e)
{
if (!IsPostBack)
{
LoadDropDowns();
}
}
Basically button click causes postback and if you are populating controls in Load event without check for postback, it will repopulate your controls resetting it's state.
Your DDL is getting rebuilt on every page load. You need to wrap your ddl data source calculation in an
if (!IsPostBack)
or put it in a part of the lifecycle that only loads once, like the OnLoad()

Event to bind a gridview inside another gridview

I have a gridview control inside another gridview control. When I click on the edit button the second gridview inside the 1st one should bind with a data source.
I am using a SqlDataSource and configured it. In which event of the gridview do I need to write the code for binding the records?
I am new to .net.
You can use RowCommand Event
protected void SecondGrid_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "Edit")
{
FirstGrid.DataBind()
}
}
You need to write your data binding logic in Parent grid's OnEditCommand event. Further details can be found here

Categories