Forms Data Controls :: Hidden Cells Become Visible When PageIndexChanging Fired?
Oct 7, 2010
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.
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;
}
}
}
View 3 Replies
Similar Messages:
Feb 8, 2011
GridView1 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();
}
}
}
View 4 Replies
Feb 8, 2011
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)
{
}
}
View 10 Replies
Feb 11, 2011
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"
View 1 Replies
Mar 2, 2010
I am able to get the values of GridView cells when the columns are not visible.
For Example:
<asp:BoundField DataField="TemplateKey" Visible="false"/>
foreach (GridViewRow gvrow in GridView1.Rows)
{
gvrow.Cells[0].Text.ToString()
}
But if I make the BiundFiled Visible="true" then I get the value in the code behind.
I do not want to show this value to the user and also want to get the value in the code behind. How can I do that?
View 2 Replies
Jan 10, 2010
I have a gridview that serves as a confirmation for user input in a previous form from a previous page. The grid is databound to a temporary table where I store the user's initial selections. The user can confirm what they had submitted, (which may be more than one row of information, up to three classes) or go back and change. When they hit the confirm button, I loop through the gridview and enter a row in a permanent database for each row in the gridview. This works great.
However, I don't want the gridview to display all of the columns that are actually in the temp database, because I'm carrying over 'usersubmitted, datesubmitted', etc, from the previous page for each class selected and this is redundant. (I do need to use all of the columns when they submit, however, to make a new row with complete information for each selected class in the permanent database) So, when I set the usersubmitted column visible false, for example, in the gridview, the dataset table adapter insert function fails with a data type mismatch error. I'm assuming becuase the column has to be visible, becuase when I make it visible again it works.
Can you loop through a gridview and call on cells in columns that are not visible?
The first page is like this:
the user fills out his info once in text boxes
name ____
address____
then selects up to three classes in dropdowns:
class one dropdown ...
class two dropdown....
for each dropdown, I insert name, address, class selected into a temp db Second page.
Gridview should display only classes selected, one row for each, and not
name address class selected
name address class selected
then when they submit, I insert
name address class selected
name address class selected
one row for each in permanant database
View 3 Replies
Feb 10, 2011
how to make Visible hidden on checking check box?
View 5 Replies
Mar 23, 2010
Ask for confirm on Gridview pageindexchanging
View 5 Replies
Nov 3, 2010
I 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();
}
}
View 6 Replies
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
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
View 3 Replies
Jun 3, 2010
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.
View 22 Replies
May 20, 2010
I have a gridview that is bound to a SQL datasource and is filtered via FilterExpression,
the FilterExpressoin is using Contro Parameters in a for of textboxes.
I want a certain button to become visible (btnInsert.Visible=true) when the filterExpression returns no results.
what event should I use? what is the code for that?
View 3 Replies
Apr 14, 2010
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)
View 6 Replies
Jan 19, 2011
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
View 1 Replies
Dec 1, 2010
I have GridView in UserControl (ascx) who is in another ascx.
[Code]....
View 2 Replies
Aug 13, 2010
In my form I have a label and button control.By default the label is visible. When a user clicks on the button I have made the label to visible false.For simple button it is working, but when I add an updatePanel to button the event is getting fired but the label is not getting to visible false. this is happening and the solution for this.
<asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
<asp:fileupload ID="Fileupload1" runat="server"></asp:fileupload>
<asp:Label ID="Label1" runat="server" Text="Label" ></asp:Label>[code]....
View 2 Replies
Feb 10, 2011
how to set a TabContainer to hidden/visible. I have tried placing it in a div and in a panel, but when I hide these (style="visibility: hidden;"), the Tabcontainer stays visible! Setting the style of the TabContainer itself doesn't work.
View 3 Replies
Feb 17, 2011
Using a GridView, I have it so that when the "select" link for the row is clicked, the item (in this case "category") is put into a text box to be renamed or edited in some way.
However, in order to save it, I need the ID of the selected row. I can get the ID if I show it as a column and do this in the CategoryGridView_SelectedIndexChanged event:
GridViewRow row = CategoryGridView.SelectedRow;
Session["SelectedID"] = row.Cells[2].Text;
However, I don't like that I have to display the ID column because of aesthetic reasons and also I just don't like people seeing my IDs.
On the other hand, if I hide the ID column in the GridView, how can I associate the Category text back to the original row in the Database?
View 3 Replies
Nov 16, 2010
CellPadding only applies the padding to the header row. CssClass in Gridview, RowStyle or EditRowStyle has no effect.
View 2 Replies
May 4, 2010
i have a gridview in my website and i want to merge two cell of that in same column but in different row , for example i have a data about tours in an agency , now i define a tour that has two hotel with difference grade , i want tow show my grid view in this manner :
tour a
hotel a1
100 $
2010 / 5 / 5
hotel a2
200 $
View 2 Replies
May 22, 2010
my datatble
name class mark address
a 1 23 c
b 2 23 d
c 3 56 4
how can i loop through cells in this datatable and bind with gridview.
View 7 Replies
Jan 13, 2010
i'm trying to check for an empty cell in a gridview.
On the RowDataBound event I tried the following:
- if (String.IsNullOrEmpty(e.Row.Cells[2].Text.Trim()))
- if (String.IsNullOrEmpty(e.Row.Cells[2].Text))
- if (e.Row.Cells[2].Text == "")
None of them worked.
I'm using boundfields. I can't use a TemplateField with a label because I need to check for other stuff for that column in the RowDataBound event by doing e.Row.Cells[2].Text - that only works if I use boundfields.
View 12 Replies
Feb 12, 2010
I have a gridview where I placed several item templates with text boxes in them. I want to enter a number in the text boxes and have the total displayed in the footer.
The last footer template is where I want to display the total. I've placed a label there.
Here's my Gridview
[Code]....
View 4 Replies
Nov 30, 2010
I have a Gridview with one column (news title).
i wan to when user click this cells go to another page to show full news.(i know how to use querystring
)
THEN:
How can i change this cells(i think DATABOUND) to hyperlink
View 3 Replies
Jun 28, 2010
During rowdatabound event I am getting values for rowcount in debug mode but I am not getting values for the cells of the grid. But After rendering I am getting values for the grid in the browser. I am not using codebehind for databind() to the grid. Here is the code.
<asp:SqlDataSource ID="SqlDataSourceView" runat="server"
ConnectionString="<%$ ConnectionStrings:HariTechDBConnectionString %>"
electCommand="SELECT DISTINCT [JobTitle], [JobDescription] ,[JobId]FROM [ManageJob] WHERE ([InactiveDate] <= SYSDATETIME())">
[code]...
View 7 Replies