FindControl Not Working On GridView When Inserting Bound Columns
Nov 8, 2010
I have a gridview with several ItemTemplates. The first contains a checkbox the rest contain textboxes. I then added dynamically some bound controls like this:
BoundField bdfPrivName = new BoundField();
clsUtilities.SetBoundFieldCenter(ref bdfPrivName, "PrivName", "Priv Name");
BoundField bdfDescription = new BoundField();
clsUtilities.SetBoundFieldLeft(ref bdfDescription, "PrivDesc", "Description");
BoundField bdfLive = new BoundField();
clsUtilities.SetBoundFieldCenter(ref bdfLive, "Live","Active?");
grdExisting.Columns.Add(bdfPrivName);
grdExisting.Columns.Add(bdfDescription);
grdExisting.Columns.Add(bdfLive);
I then use FindControl() to locate the checkbox and textboxes and perform my logic based the result
foreach (GridViewRow gvr in grdMissing.Rows) {
mckbAny = (CheckBox)gvr.FindControl("ckbAdd");
mtxtApplyDate = (TextBox)gvr.FindControl("txtAddApplyDate");
mtxtDateToAdd = (TextBox)gvr.FindControl("txtAddDateToAdd");
mtxtDateToRemove = (TextBox)gvr.FindControl("txtAddDateToRemove");
}
etc.
This all worked fine. I then got a request to put the bound fields as the second, third and fourth columns, after the check box and before the textboxes. I found that this was easy to do by changing the Add's to Inserts as follows:
grdExisting.Columns.Insert(1, bdfPrivName);
grdExisting.Columns.Insert(2, bdfDescription);
grdExisting.Columns.Insert(3, bdfLive);
It looked fine of the page, but the FindControl(), all of them fail to work.
View 2 Replies
Similar Messages:
Apr 14, 2010
I have got a simple gridview two bound columns and one template column with a textbox.
I need to get the values of the bound columns is this possible. I need to times the textbox with the bound column value
Now i can get the textbox value using
// var sumInput = null;
// var tempValue = 0.0;
// var retail = 0.0;
// function Load(sender, args) {
// sumInput = sender;
// }
// function Blur(sender, args) {
// sumInput.set_value(tempValue + (sender.get_value()));
// }
// function Focus(sender, args) {
// tempValue = sumInput.get_value() - (sender.get_value());
// }
View 4 Replies
Oct 24, 2011
I've got a grid view on my form that is bound to a data table at run tim. The data table is returned by a function rather than direct from the DB so I can't set the datasource at runtime.
I bind the grid in the page_load event like this:-
Code:
Dim _dt As System.Data.DataTable
_dt = _srvc.GetVinylShutters(0)
_dt.Rows.Add(_dt.NewRow)
grdShutters.DataSource = _dt
grdShutters.DataBind()
(_dt.Rows.Add(_dt.NewRow) is just there to add a blank row in, otherwise I wasn't seeing any columns at all)
I've then got the following snippet which I want to use to hide some underlying columns:-
Code:
For Each col As DataControlField In grdShutters.Columns
Select Case col.HeaderText
Case "OrderID", _
"ShutterID", _
"ModelID", _
[Code] ...
The thing is, wherever I put this it doesn't seem to hide the columns. If I break into the code I can see that grdShutters.Columns.Count equals zero althought I can see that the bound datatable has 38 columns.
I've tried the Page's Load, LoadComplete and PreRenderComplete events as well as the gridview's DataBound, RowDataBound and RowCreated events. I get teh same result in all of them. The grid doesn't actually have any columns until it appears on the screen.
View 7 Replies
Jun 3, 2010
In my Application, I am using User control which contains one GridView and few Buttons. GridView Contains CheckBox in Item Template of first Column for Selection purpose. Now on one of the Button's click Event I am traversing through the GridView and find which row is selected.
Following is my Code for traversing which is not working:
foreach (GridViewRow row in gvCallSheet.Rows)
View 10 Replies
May 20, 2010
I have an Objectdatasource configured with Select, Insert, Update & Delete queries in a Dataset. This datasource is linked to my Gridview. I do not require all fields in the table to be displayed or updated in my grid so i have turned off the Visible property on several.
However, when i go into Edit mode and trigger the UPDATE to the database table, i get NULL values updated in the columns i set False for the Visible property.
How can i remove these columns from the GridView and the Edit mode and still have them UPDATE with their current values instead of being overwritten with NULL's?
View 6 Replies
Aug 13, 2010
i have a gridview bound to sql datasource with template fields binding the columns. I have set the Header Style to a css class. I have 3 columns not bound to data as Add, Edit and Delete. When I set the text color to white for the header only the non bound columns go white. The bound columns are BLUE like hyperlink. Any one know a way round this. (If I set the style in the gridview the all columns are white. Want to set in external css file).
[Code]....
View 1 Replies
Mar 31, 2011
I have a Gridview and when the edit button is clicked the details of that row is displayed using a detailsview. While displaying, I need to find a control in detailsView, and then bind it with a Datasource. First of All I'm not sure about the event to be used but have used DetailsView1_DataBound. However, if I have to find the control using:
var control=(ControlType)DetailsView1.Findcontrol("ID");
Always returns null. May be I am not using the right event, and it couldn't find the control at that point.
View 2 Replies
Aug 11, 2010
I have a detailsview bound in the code behind file. I want to format the column headers. How can I do that in the code behind file.
SqlCommand Cmd = new SqlCommand(SQLquery, connection);
SqlDataReader Dr = Cmd.ExecuteReader();
dvEstQty.DataSource = Dr;
dvEstQty.DataBind();
Cmd.Dispose();
connection.Close();
connection.Dispose();
View 4 Replies
Jan 17, 2011
following is sample code i am trying to make work. i want to apply formatting to datagrid column "price" i want price to be shown in currency format
Dim bColumn As BoundColumn
bColumn = New BoundColumn
bColumn.HeaderText = "name"
bColumn.DataField = "name"
dgBizDocs.Columns.Add(bColumn)
bColumn = New BoundColumn
bColumn.HeaderText = "price"
bColumn.DataField = "price"
bColumn.DataFormatString = "{0:C}" ' already tried following "{0:#,##0.00}"
dgBizDocs.Columns.Add(bColumn)
Dim dt As New DataTable
dt.Columns.Add("name")
dt.Columns.Add("price")
Dim dr As DataRow
dr = dt.NewRow
dr("name") = "ABC"
dr("price") = 1232100.53
dt.Rows.Add(dr)
dr = dt.NewRow
dr("name") = "ABC"
dr("price") = 123123.32
dt.Rows.Add(dr)
dt.AcceptChanges()
dgBizDocs.DataSource = dt
dgBizDocs.DataBind()
what am i doing wrong ?
View 2 Replies
Feb 1, 2011
I want to access child menuitem by name.not index number is it possible? This doesn't working
Menu menuLogin = (Menu)(LoginView1.FindControl("mLogin"));
MenuItem mi = menuLogin.FindItem("Register");
mi.text="Null Reference Exception here";
But this works:
Menu menuLogin = (Menu)(LoginView1.FindControl("mLogin"));
MenuItemCollection mic = menuLogin.Items[0].ChildItems;
MenuItem mi = mic[0]; mi.text="its OK";
I am looking something like this:
MenuItemCollection mic = menuLogin.Items[0].ChildItems;
MenuItem mi = mic["Register"];//or mic.finditem("Register") or so...
mi.text="its OK";
View 1 Replies
Apr 17, 2010
Can Someone explain why this doesn't work here, when it works in another formview?
[Code]....
I Get Object Reference Not Set, but its all there. I see no reason why it shouldn't work. Same error happens if i remove the first if statement and leave the second it Gives an error on LocationAddButton.Visible = false;
View 4 Replies
Mar 28, 2010
I'm using ajax control toolkit tabcontainer control in my aspx page. When user clicks on a button i need to show a PAYPAL button(which will be stored in database table as <form action="".....</form>)I'm binding the entire paypal form to a server side DIV tag, i'm getting an unknown runtime error.. How can i do this? can anyone please help me..There will be many buttons on aspx page, based on button click, i'm populating DIV tag with respective PAYPAL form data.
View 6 Replies
Mar 10, 2011
I'm working on setting up a Gridview that dynamically creates new "columns" after a set amount of rows. To do this, I bind a datasource to the Gridview and then add new cells and shift the other items into those cells. I seem to be having an error with the link buttons that I move around. All of the items get put in there correct location, but for some reason, when I click a link button that has been added to a new cell, the sender's text is the LinkButton in the original cell's text. Does anyone know why this would be happening? Is the gridview not meant to be manipulated after it has been data bound? This is the code that I use to update the gridview.
[Code]....
View 2 Replies
Mar 17, 2011
I have nested 2gridview. I want to access textbox in second gridview footertemplate. How can I do this.My code is
[Code]....
Code Behind
[Code]....
Iwrite this code but I get
Object reference not set to an instance of an object.
View 11 Replies
Oct 13, 2010
I have a GridView that has several dynamic columns (I do not know how many at design time and it could be 0-12 columns, hence need for dynamic columns). I have the columns in the grid and data bound to them - works great. There are other standard, design-time TemplateField columns with TextBox controls in them. These are bound with values that the user can edit. The grid is posted back via a Submit button. My question is "Why does gv.Columns.Insert() cause all my TextBox data to be null on Postback, but gv.Columns.Add() works like a champ?"
protected void BuildColumns()
{
// The first column to begin to insert the columns in the GridView
int columnIndex = 5;
BoundField aoColumn = new BoundField();
aoColumn.HeaderText = "New Column 1";
gvMyGrid.Columns.Insert(columnIndex, aoColumn); // kills txtQuantity.Text on postback
gvMyGrid.Columns.Add(aoColumn); // works fine
columnIndex++;
foreach (MyEntity my in _myEntityCollection)
{
BoundField myColumn = new BoundField();
myColumn.HeaderText = String.Format("{0:d}", my.StartDate);
gvMyGrid.Columns.Insert(columnIndex, myColumn);
columnIndex++;
}
}
I then go on to assign values to these BoundFields in the _RowDataBound method and all of this works great. However, when I post back and try to reference some TextBox and they are all null. And yes, I have the BuildColumns() call wrapped in if (!IsPostBack) on Page_Load. Of course I would like to use .Insert() so that the columns can go in the proper location and not at the end of the Columns array.
View 1 Replies
Mar 18, 2010
in asp.net page user able to select gridview Columns, and it will hide remaining columns and that selection done by check box with column list bellow is Image link , what exactly I am looking for [URL] it look bellow after selection of column done [URL]
View 1 Replies
Jan 19, 2010
GridView1.Columns.Count is always zero even SqlDataSource1.DataBind();
But Grid is ok I can do
for (int i = 0; i < GridView1.HeaderRow.Cells.Count;i++)
I rename request headers here but
GridView1.Columns[i].Visible = false;
I can't use it because of GridView1.Columns.Count is 0. So how can I hide them ?
View 5 Replies
Jan 27, 2011
I have a datasource, which includes many columns, idealy, I need use a gridview to show:
1) first 3 columns: template fields, these fields depends on values in some columns of datasource. I use template fields, hard coded. works fine.
2) the other columns. This is I do not know how to do it. In the data source, there are about 10-20 columns data, each time, the # of columns of the data varies. idealy, I need show each of them as a seperated column in gridview. The entire data source may have 30 columns, but some of them are used in 1), and I only want show these 10-20 columns in gridview. Some columns in data source, I may not use them at all. is there a way to do this? or have to seperate them as a detail view style UI?
View 1 Replies
Jan 20, 2010
I apologize for the odd title. I've been trying to figure out how to do this and can't quite put it into words. Basically, I need to try to display a GridView with a whole bunch of columns (37 in one case) in two "rows" of columns. More or less.
So instead of this:
Column1 Column2 Column3 Column4 Column5 Column6
Data Data Data Data Data Data
Data Data Data Data Data Data
Data Data Data Data Data Data
I'd like something like this:
Column1 Column2 Column3
Data Data Data
Data Data Data
Data Data Data
Column4 Column5 Column6
Data Data Data
Data Data Data
Data Data Data
As in the example there can be multiple rows returned which all need to be displayed. I'm trying to stop a very large horizontal scroll bar being required. I've been searching as much as I can but haven't found anything that fits what I'm looking for.
View 1 Replies
Jun 28, 2010
I want to access controls and update database with their value. Notice using following code:
void grdList_UpdateCommand(object source, GridCommandEventArgs e)
{
string str = ((RadTextBox)e.Item.FindControl("txtLookupItemValue")).Text;
}
I have access to control txtLookupItemValue, but it contains before-edit content, not actual value that user has entered.
View 2 Replies
Oct 28, 2012
I've a function named fillgrid() which fills the grid with data.This function works correctly on pageload,but after inserting into database i've called this function again, which is not getting executed.This issue happens only in real time server not in my local system,I'm not getting any error and i cannot recognize why fillgrid() function is not getting called??I've used update panel.This is the code for insert function which inserts over 500records.
DataTable dtMob = new DataTable();
dtMob = dtMobilizn.Copy();
DataSet dsMobilizn=new DataSet("dsMobilization");
[code]....
View 1 Replies
May 7, 2010
I have a dynamic gridview in which i need to add textbox, checkbox, imgButton in the cell dynamically.
At the moment user click on the imbgutton, a click event fire and i need to capture the user input on the checkbox and textbox of the particular cell.
I have problem in finding out the checkbox and textbox control in the imgbutton click event. The cause is i do not know which row in the gridview i need to search to for the control.
I have try gridview.Fincontrol but fail.
View 3 Replies
Jan 6, 2010
using the GridView FindControl.
What I've done is I've setup a Gridview with a datasource to show only 1 of the columns I need from the datasource, but I also have another ItemTemplate Column in which I have a dropdownlist with another datasource that I've bound to the dropdownlist.
What I need to do is have the dropdownlist show the selected one when compared to a id from datasource in the gridview.
View 4 Replies
Mar 11, 2010
i have button field in grid view, basicly i want to show to in some of the row only, but i cant find the "ID" using find control
This is my aspx code
[code]....
View 5 Replies
Mar 4, 2011
i have a gridview in updatepanel in this case:
[Code]....
View 23 Replies