Forms Data Controls :: How To Get Info Of Current Row In A Gridview
Jan 10, 2010
I have a gridview on which there is a colume of image button for user to select a particular row. When a row is selected, a modal pop up appears for user to edit data and finally uers hit update button (within modal pop up). I expect to update the selected gridview row with info on modal pop up. My question is how do I get the row number within the Update_Click event.
I've been hunting for a solution to grab the radiobuttonlist when they answer that particular question. It varies for the number of questions, but only one displays at a time, but there could be a radiobuttolist or checkboxlist based on the question type. I was figuring I could do this easy in the row command of the gridview, but that hasn't worked out so well since I can't get the datarow for some reason.
I have a gridview that has a dropdown on a template on the row. The user is wanting to change the value and update the record automatically. I know that when the value changes, I need to have the OnChange to trigger. I am not sure how to get the row so I can get the record ID so I can create a SQL statement to update this field.
Should I be using something other than the gridview?
I have two gridviews, where the first is databound to a sql table (but does not display the primary key info), and want to filter the data displayed on the second gridview by using the primary key info from the first gridview table, indicated by the selected row in the first gridview - how I could achieve this? its kind of like using the gridviews as a menu and sub menu display!
almost typical master-detail scenario except the 'detail' data I want to display below the gridview will be coming from both the table that is bound to the gridview (master) and a related table.
simplified example: tableMain with field1, field2, field3 bound to master gridview. I need to select a row from the master gridview and have a form display below with field4 and field5 from tableMain, as well as all fields of tableDetail where field1 of tableMain equals field1 of tableDetail.
Is this what a 'formview' control is for? or do I just arrange my own controls to accommodate the data? Would a formview work considering my source will be partially from both the main table and the detail table? This is one of the scenarios were I know I could come up with something using none of the databound controls (except the master gridview), but I want to use the controls provided when it makes sense to do so, and utilize their benefits etc...
I generate dynamic grids based on a count value returned from some DB tables. the code for it goes like this : I give and Id to each grid that is generated.
if (myDataList1.Count >= 1) { for (int i = 0; i < myDataList1.Count; i++) { //retrieving the exact i count from pageload ViewState.Add("newCount", i); //creating the dynamic grid with its corresponding gridview properties. grvDynamic = new GridView(); grvDynamic.ID = "GridView" + (i+3); grvDynamic.AutoGenerateColumns = false; grvDynamic.RowCreated += GridViewRowCreated; grvDynamic.RowDataBound += grvDynamic_RowDataBound; //adding bound field columns to retrieve data from stored proc BoundField metric = new BoundField(); metric.HeaderText = "Goal "; metric.DataField = "metric"; grvDynamic.Columns.Add(metric); BoundField mtd = new BoundField(); mtd.HeaderText = "MTD"; mtd.DataField = "value_MTD"; grvDynamic.Columns.Add(mtd); BoundField goal = new BoundField(); goal.HeaderText = "Tier Level Achieved"; goal.DataField = "value_goal"; goal.HeaderStyle.Width = Unit.Percentage(10); grvDynamic.Columns.Add(goal); BoundField you1 = new BoundField(); you1.HeaderText = "Month End"; you1.DataField = "firstLevel_you"; grvDynamic.Columns.Add(you1); BoundField you2 = new BoundField(); you2.HeaderText = "Month End"; you2.DataField = "secondLevel_you"; grvDynamic.Columns.Add(you2); ButtonField singleClick = new ButtonField(); singleClick.CommandName = "clickHyperlink"; singleClick.Visible = false; grvDynamic.Columns.Add(singleClick); BoundField metricId = new BoundField(); metricId.HeaderText = "Metric Id"; metricId.DataField = "metricID"; metricId.Visible = true; grvDynamic.Columns.Add(metricId); //binding the gridview to data. grvDynamic.DataSource = data; grvDynamic.DataBind(); grvDynamic.Columns[5].Visible = false; } }
protected void grvDynamic_RowDataBound(object sender, GridViewRowEventArgs e) { //this basically gets the metric Id's of rows with the ishyperlink flag set to 'Y'. I need to make these particular cells clickable var isClickable = (from md in myDataList3 where md.IsHyperLinkFlag == 'Y' &&
md.value_MTD != null select md.metricID).ToList(); if (e.Row.RowType == DataControlRowType.DataRow) { // Get reference to button field in the gridview. LinkButton _singleClickButton = (LinkButton)e.Row.Cells[5].Controls[0];
This code works perfectly fine , depending on the ishyperlink flag in the database...specific cells in the grid are made clickable and then redirected to page2.aspx My Issue: I need to capture which specific cell in which specific grid the user has clicked. store some information in sessions based on the cell clicked and use that information in page2.aspx.
In gridview when i click on the particular row, when i click on 'Insert' link button in grid view row javascript menu will come that i can do lnkbutton .attribute.add("onclick","window.openI("link") after selecting the input from the popup, row should be inserted above the current row or below the current row. depending on the selection , how i can do this with datatable
1)getting the user input
2)Adding row above or below the current grid view row depending on selection in popup
i use a wizard in my page the first step contains a Gridview.
[Code]....
It runs very well until i use the Gridview paging. In this case i get following error-message."Unable to cast object of type 'System.Web.UI.WebControls.Wizard' to type 'System.Web.UI.WebControls.GridViewRow'." If i use this code to get the gridview-rowDim row As GridViewRow = _ grid.Rows(Convert.ToInt32(e.CommandArgument)) paging runs, but i cannot use the commandDropdown.This is my control. I use commanddorpdown [Code]....
I have downloaded the Control form this page. [URL]19606_On_ASP_NET_Forums_How_to_develop_a_command_capable_DropDownList.aspxHas anybody an idea to solve my problem?
I have a gridview which has the update and cancel option when edit is pressed against a row.i now want to add a delete option as well but not sure how i can do this without reconfiguring the datasource?
I have a page with a gridview control that shows files that have been uploaded to our site. The name of the uploaded files, who uploaded them, and if they have been downloaded, etc are stored in a table. The gridview is bound to the table through a sqlDataSource control. I have a button column in the gridview that downloads the file associated with a row when the button is clicked. All that works well. I have a check box column that shows checked if a file has been downloaded. When the download button is pressed.
the file downloads and then a short routine is run to update the downloaded field in the uploaded files table to set the downloaded field to true. This is done through a command string. All this works. Here is the question. After the update is run I do a databind on the gridview to update it. The databind is run in the PageLoad event is the page is a postback. This does not cause the current row to show downloaded =true (checked). If I refresh the page in the browser then it displays correctly.
Initially I display all the records in the gridview. Then based on the search I fetch certain records and display it.. When I try to edit any retrieved record, the control automatically tries to edit the first record instead of editing the selected record.. What should I change in the code to make it work?
I have Jobschedule( different work centers) displaying in grid view on my webform When particular workcenter passes the current date then it should highlight with Red color ,(following sechedule i bolded the dated which are passed current date since i did not find how to make color here)
I have a gridview on a page that allows a user to edit the data. I need to be able to insert the current user's username in the database table whenever they click update on the gridview. I am new to coding and im strugling to get this project done.I am using MSSQL Server 2005 and VB in the codebehind.
I have a page, let's called that Parameter page, displaying data from a database table using GridView. (The database is a SQL database.) I allow editing of data in GridView. The GridView uses stored procedure to retrieve data and to update data. In my project, users need to log in before using my asp.net project. So at every page, I know who the current user is by using HttpContext.Current.User.Identity.Name. Now as requirement changes, I need to record who has changed what (row) in the Parameter page. The information is to be written to a new table - audit log. Therefore I do not expect to change the Parameter table structure.
I have modified the stored procedure retrieving data. It returns one more column - an empty column with name currentUser. So GridView will create one more column. After data bound, I have the GridView_DataBound() to popluate that column using HttpContext.Current.User.Identity.Name.
I debug it in Visual Studio and am able to see the name of current log in user as the last column in GridView. I change the update stored procedure to take in one more parameter. That parameter, currentUser, takes default value. The default value is an empty string. So if UI part fails to send in the current user name to stored procedure, it just write the empty string as the user name. I change the <asp:SqlDataSource>. I add a <asp:Parameter> for currentUser.
[Code]....
I debug in Visual Studio. However when I save the change, the SQL profiler shows UI sends in @currentUser as NULL. Why?
I having a data from database which display in form of link button at a repeater control.Nw i want to get the particular data from the repeater contorl and redirect it to its respective page to show its details.May i know how to do it?
I have gridview in which i had enabled edit update function. i want to insert current date when ever a user edits the row. my web is in asp.net, vb code, and database is in sql