Forms Data Controls :: Ask For Confirm On Gridview Pageindexchanging
Mar 23, 2010Ask for confirm on Gridview pageindexchanging
View 5 RepliesAsk for confirm on Gridview pageindexchanging
View 5 RepliesI cant for the life of me get the PageIndexChanging event to fire. Please advice.
<asp:GridView ID="gridViewTransactionList" runat="server" AutoGenerateColumns="False"
AllowPaging="True" BackColor="White" BorderColor="#3366CC" BorderStyle="Solid"
BorderWidth="1px" CellPadding="4" PageSize="10"
onpageindexchanging="gridViewTransactionList_PageIndexChanging"
ondatabinding="gridViewTransactionList_DataBinding"
onpageindexchanged="gridViewTransactionList_PageIndexChanged">
<Columns>
<asp:BoundField ItemStyle-Width = "150px" DataField = "RowNumber" HeaderText = "RowNumber" />
</Columns>
<RowStyle BackColor="#D7E5F5" ForeColor="#0F253F" CssClass="gridViewTransactionList" />
<AlternatingRowStyle BackColor="#F5F9FD" ForeColor="#0F253F" />
<FooterStyle BackColor="#99CCCC" ForeColor="#0F253F" />
<PagerStyle BackColor="#99CCCC" ForeColor="#0F253F" HorizontalAlign="Left" />
<SelectedRowStyle BackColor="#009999" Font-Bold="True" ForeColor="#CCFF99" />
<HeaderStyle BackColor="#538ED5" Font-Bold="True" ForeColor="#0F253F" />
</asp:GridView>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="btnConfirmDeletetransaction" EventName="Click" />
<asp:AsyncPostBackTrigger ControlID="gridViewTransactionList"
EventName="PageIndexChanging" />
</Triggers>
</asp:UpdatePanel>
protected override void OnInit(EventArgs e)
{
gridViewTransactionList.PageIndexChanging += new GridViewPageEventHandler(gridViewTransactionList_PageIndexChanging);
gridViewTransactionList.DataBind();
}
protected void gridViewTransactionList_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
DataTable dataTable;
gridViewTransactionList.PageIndex = e.NewPageIndex;
if (Session["TransactionDataTable"] != null)
{
dataTable = (DataTable)Session["TransactionDataTable"];
gridViewTransactionList.DataSource = dataTable;
gridViewTransactionList.DataBind();
}
}
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
DNI [_______] (b1)
APE [_______] (b2)
[NOM |APE |DNI |DIR |OCUP ]
============================
[ | | | | ]
[ | | | | ]
[ | | | | ]
[ | | | | ]
============================
[ 1 2 3 4... ]
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.
i am trying to set paging using the following code in pageload event.
GridView1.DataSource = ourdataset.Tables("Products")
GridView1.DataBind()
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 have GridView in UserControl (ascx) who is in another ascx.
[Code]....
I Read This [URL] but when i click next page mygird be Empty and blank
<asp:GridView ID="grdData" runat="server" AutoGenerateColumns="False" GridLines="None"
confirm row deletion of a GridView?
<asp:GridView ID="GridViewproject" runat="server" CellPadding="4" ForeColor="#333333"
I use a gridview in my aspx page with a asp:CommandField for delete data.. I need a confirm for action, than I add:
Protected Sub lavorazioni_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles lavorazioni.RowDataBound
i have an item template delte button inside DataGrid, and i would like to didplay a confirmation box , once user try to delete row..
below is my code:
[Code]....
I want to insert a return confirm confirmation messagebox in the gridview which fires when a row is selected. Is there a way to bring out the confirmation messagebox when the a gridview row is clicked without post back. When the user click yes, then the post back will occur. When users click cancel in the messagebox it will do nothing.
View 3 RepliesI 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.
Here is the pageindexchanging event:
protected void GridView_EmployeeList_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
GridView_EmployeeList.PageIndex = e.NewPageIndex;
GridView_EmployeeList.DataBind();
}
Here is some code from the page_load:
protected void Page_Load(object sender, EventArgs e)
{
foreach (GridViewRow row in GridView_EmployeeList.Rows)
{
If(row.Cells[1] == "Manager")
{
row.Cells[13].Visible = true;
}
else
{
row.Cells[13].Visible = false;
}
}
}
I have a button field in last of gridview on click code executes on rowdatabound, How to add javascript confirm message with yes no on click of button.
View 1 RepliesGridView1 fired event PageIndexChanging which wasn't handled
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
public partial class View_Project : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (Session["USERNAME"] == null)
{
Response.Redirect("Home.aspx");
}
}
protected void Button1_Click(object sender, EventArgs e)
{
fillgrid();
}
protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
GridView1.PageIndex = e.NewPageIndex;
fillgrid();
}
private void fillgrid()
{
if (TextBox1.Text == "*")
{
SqlCommand cmd;
SqlConnection con = new SqlConnection("Data Source=SUNTECH-812ECD7\SQLEXPRESS;Initial Catalog=suntech;Integrated Security=True;");
cmd = new SqlCommand("Select * from " + DropDownList3.SelectedItem + " where project_name like '" + TextBox1.Text + "'");
con.Open();
cmd.Connection = con;
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
da.Fill(ds);
GridView1.DataSource = ds;
GridView1.DataBind();
con.Close();
}
else
{
SqlCommand cmd;
SqlConnection con = new SqlConnection("Data Source=SUNTECH-812ECD7\SQLEXPRESS;Initial Catalog=suntech;Integrated Security=True;");
cmd = new SqlCommand("Select * from " + DropDownList3.SelectedItem + " where project_name like '" + TextBox1.Text + "'");
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
da.Fill(ds);
GridView1.DataSource = ds;
GridView1.DataBind();
con.Close();
}
}
}
I am getting this error when click on page no 2 of grid view on first page it is working correctly My source code of grid view is
<asp:GridView ID="GridView1" runat="server" Width="738px" CellPadding="4" ForeColor="#333333" AllowPaging="True" >
<RowStyle BackColor="#FFFBD6" ForeColor="#333333" />
<FooterStyle BackColor="#990000" Font-Bold="True" ForeColor="White" />
<PagerStyle BackColor="#FFCC66" ForeColor="#333333" HorizontalAlign="Center" />
<SelectedRowStyle BackColor="#FFCC66" Font-Bold="True" ForeColor="Navy" />
<HeaderStyle BackColor="#990000" Font-Bold="True" ForeColor="White" />
<AlternatingRowStyle BackColor="White" />
</asp:GridView>
And c# code is
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
public partial class Time_keeping_system : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
private void Page_PreInit(object sender, EventArgs e)
{
if (Session["USERNAME"] == null)
{
this.MasterPageFile = "MasterPage.master";
}
else
{
this.MasterPageFile = "MasterPage2.master";
}
}
protected void Calendar1_SelectionChanged(object sender, EventArgs e)
{
//TextBox1.Text = Calendar1.SelectedDate.ToShortDateString();
TextBox1.Text = Calendar1.SelectedDate.ToString("dd/MM/yyyy");
}
protected void Button1_Click(object sender, EventArgs e)
{
if (TextBox1.Text == "*")
{
SqlCommand cmd;
SqlConnection con = new SqlConnection("Data Source=SUNTECH-812ECD7\SQLEXPRESS;Initial Catalog=suntech;Integrated Security=True;");
cmd = new SqlCommand("select ld.username, ld.login_date,ld.login_time,wp.Project_Id,wp.Project_Of,wp.Project_Name,wp.Start_time,wp.end_time, bd.break_for,bd.break_time,bd.break_over_time,l.logout_time from login_details ld inner join working_projects
wp on ld.login_date= wp.Date join break_details bd on ld.login_date = bd.login_date join logout l on bd.login_date= l.logout_date where ld.username ='" + DropDownList1.SelectedValue + "'");
//cmd = new SqlCommand("Select * from " + DropDownList3.SelectedItem + " where project_name like ''" + TextBox1.Text + "''");
//cmd.ExecuteNonQuery();
con.Open();
cmd.Connection = con;
//SqlDataReader reader = cmd.ExecuteReader();
//GridView1.DataSource = reader;
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
da.Fill(ds);
GridView1.DataSource = ds;
GridView1.DataBind();
con.Close();
// reader.Close();
}
else
{
SqlCommand cmd;
SqlConnection con = new SqlConnection("Data Source=SUNTECH-812ECD7\SQLEXPRESS;Initial Catalog=suntech;Integrated Security=True;");
cmd = new SqlCommand("select ld.username, ld.login_date,ld.login_time,wp.Project_Id,wp.Project_Of,wp.Project_Name,wp.Start_time,wp.end_time, bd.break_for,bd.break_time,bd.break_over_time,l.logout_time from login_details ld inner join working_projects
wp on ld.login_date= wp.Date join break_details bd on ld.login_date = bd.login_date join logout l on bd.login_date= l.logout_date where ld.username = '" + DropDownList1.SelectedValue + "' AND ld.login_date = '" + TextBox1.Text + "'");
//cmd = new SqlCommand("Select * from " + DropDownList3.SelectedItem + " where project_name like ''" + TextBox1.Text + "''");
//cmd.ExecuteNonQuery();
con.Open();
cmd.Connection = con;
//SqlDataReader reader = cmd.ExecuteReader();
//GridView1.DataSource = reader;
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
da.Fill(ds);
GridView1.DataSource = ds;
GridView1.DataBind();
con.Close();
// reader.Close();
}
}
protected void TextBox1_TextChanged(object sender, EventArgs e)
{
}
}
This seems to be an easy question to ask, but I am not able to show items in GridView. Here is my code:
public partial class TestList : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{ TestProject.DataAccess.Repository.Instance.Initialize(Settings.Default.TestConnection);
BindData();
}
}
private void BindData()
{
//Restriction Info!!
gvAgentList.DataSource = EntityRegistration.DataAccess.Repository.Instance.GetData();
gvAgentList.DataBind();
}
protected void gvAgentList_PageIndexChanging (object sender, GridViewPageEventArgs e)
{
gvAgentList.PageIndex = e.NewPageIndex;
gvAgentList.DataBind();
}
private string ConvertSortDirectionToSql(SortDirection sortDirection)
{
string newSortDirection = String.Empty;
switch (sortDirection)
{
case SortDirection.Ascending:
newSortDirection = "ASC";
break;
case SortDirection.Descending:
newSortDirection = "DESC";
break;
}
return newSortDirection;
}
protected void gvAgentList_Sorting(object sender, GridViewSortEventArgs e)
{
DataTable dataTable = gvAgentList.DataSource as DataTable;
if (dataTable != null)
{
DataView dataView = new DataView(dataTable);
dataView.Sort = e.SortExpression + " " + ConvertSortDirectionToSql(e.SortDirection);
gvAgentList.DataSource = dataView;
gvAgentList.DataBind();
}
}
}
Here is the markup of the GridView:
<asp:Content ID="Content1" ContentPlaceHolderID="HeadContent" runat="server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
<p>
Agent Lists:</p>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:GridView runat ="server" ID = "gvAgentList"
AllowPaging = "True"
AutoGenerateSelectButton="True" AllowSorting="True" BackColor="#E8E8E8"
BorderColor="#003399" BorderStyle="Solid" BorderWidth="1px" Height="375px"
Width="731px" OnPageIndexChanging = "gvAgentList_PageIndexChanging"
OnSorting="gvAgentList_Sorting" >
<AlternatingRowStyle ForeColor="#0066CC" />
<HeaderStyle ForeColor="#3366FF" />
</asp:GridView>
<asp:SqlDataSource ID="SqlDataSource1" runat="server"></asp:SqlDataSource>
</ContentTemplate>
</asp:UpdatePanel>
</asp:Content>
The problem is that my GridView is not throwing me any exception and through breakpoints I can see that the function is called in code behind.
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....
View 2 RepliesI 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?
View 1 Replies[Code]....
[Code]....
Compilation Error Description:
An error occurred during the compilation of a resource required to service
this request. Please review the following specific error details and modify your
source code appropriately. Compiler Error Message: CS0117:
'Northwind.tbl_zaposleniRow' does not contain a definition for
'Replace'Source Error:
[Code]....
Line 74: Northwind.tbl_zaposleniRow product = (Northwind.tbl_zaposleniRow)((System.Data.DataRowView)e.Row.DataItem).Row;
Line 75:
Line 76: db.OnClientClick = string.Format("return confirm('Are you certain you want to delete the {0} product?');", product.Replace("'", @"'"));
Line 77: }
Line 78: }
[Code]....
Is there any way to show confirmbox when click on delete?
<asp:HyperLinkField DataNavigateUrlFields="Note ID,ID"
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.
How do I apply this to a DetailsView? I know it diesn't use RowDataBound, instead it uses DataBound. But what about the e.Row and RowDataBound...etc? Basically, how would this look if I wanted to apply this to a DetailView?
[Code]....
On my web page i have a repeater control with checkboxes.When i select some repeater rows through checkboxes then they will delete from database as well disappers on my web form.But after selecting the respective checkboxes i have to click on a button for this purpose.
[Code]....
protected void btnDeleteInsured_OnClick(object sender, EventArgs e) { int count = 0; foreach (RepeaterItem ritem in Repeater1.Items) { if (ritem.ItemType == ListItemType.Item || ritem.ItemType == ListItemType.AlternatingItem) { CheckBox chkbox = (CheckBox)ritem.FindControl("cbSelect"); if (chkbox.Checked) { } count++; } } if (count == 1)
[code]...
I have an approve button.on clicking on this button it should show that an inactive value is present .Onclicking yes conformation it should save the data or else clicking on no conformation should return false; how i will do that?After alert it always submit the data.
protected void ibtApprove_Click(object sender, ImageClickEventArgs e)
{
string otherAffiliateName = txtRequestedAffiliate.Text;
int inActiveAffiliates = new BLRating().InActiveAAffiliateChecking(otherAffiliateName);
if (inActiveAffiliates > 0)
[code]...
This is the code i used.how i wiil stay back on Confirm 'no' click?