On row click column value has to be changed in jqgrid - asp.net

I have a jqGrid with four columns and in which i get the rows from the database. Now i want some thing like this. On row selection the cell value of row has to be changed.
i.e.
SNo SName Update Roll No
1 Steve Rename 1001
2 Jack Rename 1002
I want to update the SName when the user selects Rename from jqGrid row for example if the user selectes rename from first row then first row should be like the following
i.e.
SNo SName Update Roll No
1 Steve Update/Cancel 1001
2 Jack Rename 1002
Can any one suggest me how to obtain the same

It seems to me that you try to make things more complex as it is. Why do you not use the standard behavior of the jqGrid "inline editing"?
If user double-click (or click depend on your requirements) on the row the "editable" columns of the row can be modified (see old answer for more information). If the user end the row editing with pressing of "Enter" key the changed will be saved. If the user press "Esc" key or select another row the changes will be discarded. So the standard inline editing supports rename/update/cancel without additional "update" column.
If you want have a buttons in an additional column you can use formatter:"actions" or use "custom editing" technique which you can see on the jqGrid demo if you select "Row Editing" / "Custom Edit".

Related

How to design a gridview or table with datasource having blank first row in which we can search table column in asp.net?

I want to design a grid view or table that gets data from database then i want leave first row blank. when user click in the cells of first row and type in, it shows every data that matches.
You can use textBoxes to query your requested data in gridView and use onTextBoxChanged to update the gridView. Instead of increasing the code you also can do it using Table let's say you have 5 columns on the gridView you make table with 5 columns and 2 rows, the first row you put 1 textBox in each cell, in the second column you use colspan property and set it to 5. Then use the event onTextBoxChanged call the SQL command and query the data on textBox then update the gridView.

Foxpro combobox binding from database

I have Form1. I have table "Category", now I want to display all CategoryName in to combobox cbbCategory in Form1, the category names data are retrieved from Category table, how can I do this?
There are several ways you can do this, from querying the table into an array, writing as a SQL query, etc and setting up the properties.
What I would suggest for a start is this. Open your form.
Right-click anywhere in the form and pick "Data Environment".
If the category table is NOT already shown in the window, right-click and select Add. It will prompt you to pick a table and select your category table. Then close the data environment.
Now, put a combobox on your form if you have not done so already.
Right-click on the combobox and click "Builder". It will walk you through the selection process to get what you want. Start with picking the table... your category table. Then it has picker next to it to identify which column(s) you want to be displayed in the combobox. If your category table has both an ID and a description, I would pick your description FIRST, then the internal ID column second (so we can hide the second column if you dont want to actually show it).
Click on the second tab for "Style", and to clarify the difference between a "Drop-down Combo" vs "Drop-down List" is that a combo will default show you available choices, but if one is not available, allows a user to manually enter a new one which you might want to allow adding to your master category lookup table. "Drop-down List" is fixed to only allow the user to pick an entry from those available and nothing else.
Next, click on the Layout tab. This allows you to adjust the columns widths to see/hide what it will look like during drop-down mode (just stretch/shrink the columns)
Finally, the "Value" tab. It is asking for which column from those you selected to be available do you want to store behind-the-scenes. If an ID column, so be it... if the description, that's fine too. You can leave the last "Field Name" blank for now and it will just store whatever is selected into the comboboxes "Value" property... from which you can do whatever you need to in next phase of you app.

GridView record update help needed

I have a table in database.
This table has 10 rows and 4 columns which contains ID( an integer value coming from UI ).
In front end in asp.net application i bind all 10 rows to a Grid-view.Grid-view has 4 column and each column contains a drop-down list.
There is a button called Update on screen.
I want to update database table on clicking on Update button i.e. whatever option is selected in Grid-view should update in database table.
What would be the best approach to do it?
Thanks
Use a codebehind handler to handle the button click, then do a database update based on the values in the Gridview.

GridView Initial Editing mode?

I am writing a web application that is used for tracking and entering some everyday user data... Every day I need to enter some data for multiple users manually...
I will choose the date with the calendar, and for that date I will get DB values assigned for all users on chosen date...If there are some entries in database for that date i will display it in gridview...
Here is the look of gridview for chosen date...
USERS DATA
------------
User1 Data1
User2 Data2
User3 Data3
But, if I choose the date for which there are no entries in DB, I would like to display the gridview containg User names in each row, but I want the second column (DATA field) to be initially editable for ALL rows (the whole second column should contain textboxes for inserting values, not only selected row as in standard editable gridview mode) allowing inserting of wanted values...
I want it to look something like this
USERS DATA
----------------
User1 TextBox
User2 TextBox
User3 TextBox
My idea is to get Users list from DB and create a datatable with first column containg returned user names, and second column empty... This datatable will be datasource for gridview in which I am going to disable editing mode, and in normal (displaying) mode I am going to have TemplateField containg of textboxes bound to that datatable in second column, and labels displaying usernames in first column... When entering all values there will be SAVE button who is calling a method that will read entered values from datatable and save it to database...
Is there a better way to implement this functionality? If Templatefield textboxes are bound to datatable (as gridview datasource) textboxes entered values are going to be accessible from datable object, but Save button click causes postback, and I don't know how to preserve datatable state? Is there a better way to get wanted gridview with whole second column availibe for inserting new values?
Thank you in advance for your help & time!
Try this
http://www.highoncoding.com/Articles/219_GridView_All_Rows_in_Edit_Mode.aspx
http://csharpdotnetfreak.blogspot.com/2009/05/edit-multiple-records-gridview-checkbox.html
I would retrieve the full dataset using a left join in the database, and if there is no entry for a user, that user will be returned with a blank value. Something like this:
select users.user,
isnull(entries.entry,'')
from users
left join entries on users.userid = entries.userid
I think you can override the OnDataBinding (or OnDataBound) method to check and see if the second column is empty, and place the field in edit mode if it is. This way, if some users have entries but some don't, only the users with no entry will be in edit mode. Any user with an entry will be in display mode. There is a sample for this at http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.gridview.onrowdatabound.aspx.

Bound DropDownList of "unused" items plus current row item in EditItemTemplate of GridView?

I have 2 tables with unique IDs that can be mapped to each other (one table comes from a database outside of my application but has information about the same entities I'm tracking). I want to provide a UI for linking "my" records with the "other" ones, so I can store the "other" IDs in my table for the matching records. In a nutshell, the key UI element is a dropdownlist showing the available (ie, not-yet-linked) records from the "other" table.
I have a gridview for displaying "my" records in each row, plus a column showing some info from the linked record in the "other" table, if any. The data are about buildings and properties, so it might look like this:
Building1 Dallas TX Building1_Dallas_TX
Building2 Memphis TN Bldg2_Memphis_TN
Building3 Denver CO
Building4 Seattle WA
Building5 Boston MA Building5_Boston_MA
where the first 3 columns show some information from "my" table, and the last one shows the matching record from the "other" table, where the records have already been linked, else a blank where no link has been established. My actual gridview has several more columns from "my" table, but this is enough to illustrate the need.
When Edit (not shown) is clicked for a row, I want to be able to edit all 4 columns. The first 3 are textboxes; the last column should be a dropdownlist showing all of the unlinked records from the "other" table, plus an "Unassigned" option (as the first item in the list) so records can be "unlinked" or simply left unassigned, plus (for those rows that already have a link established) the linked item (it's "used" but it needs to be in there so they can continue to use it).
I can populate the dropdownlist correctly in code-behind in the gridview RowEditing event (except for the Unassigned item which I add as a ListItem in .aspx with the AppendDataBoundItems option set to true), and I can set the correct SelectedValue on the ddl's DataBound event, but on postback when I click to Update the row, the ddl has no items in it anymore (except for the Unassigned item) so the link is always cleared. If I set a link manually by directly editing my table, everything looks fine going into Edit mode -- the ddl has the correct items in it and it pre-selects the correct item, but all is lost on the Update postback. I have tried re-binding the ddl at various stages of the page cycle but clearly I don't quite understand that cycle well enough yet because I cannot figure out how to get the user-selected item to update my table.
I've also tried populating the ddl with a SqlDataSource SelectCommand, but have had no luck including the ID of currently-linked records in the other database (even though it's available in "my" table and I set it as a GridView DataKey and add it as a ControlParameter in the SelectParameters for the SqlDataSource. Without the currently-linked record in the ddl item list, I can't keep existing links.
I'll hold off sending a code sample for now -- this message is already too long! -- in hopes that the solution is obvious from what I've described... I don't think my aim is weird, but I'm open to being persuaded otherwise.
Many thanks in advance!
Chris
Ok, I'm not going into details with code because maybe you already done what I'm about to suggest.
For the last column, the drop down list, you have to execute an SQL statement to grab you the unlinked items. Use the "WHERE xx NOT IN". For the "Unassigned" option, just add an item to the list in the same code scope as above.
Next step is to handle the GridView's editing events manually. Insert, Update and Delete.
I think that way you won't have problems.

Resources