I have a Grid with say 10 rows and 5 columns. suppose the first column is "Name"
So the data would be some thing like
Name
abc
xyz
pqr
Now My query is, I want to Expand the Row on "abc" click, i.e. on "Name" columns data click.
And wanted to show the data of the other columns from the same row.
I have attached the image , Hope this will clear my requirement.
In the image it is shown that, the RowExpander, we can make the row expandable. I wan the same functionality but not on click the Plus image, but on the name of the first column. i.e. from the above image when user clicks on "3m Co" from the company column. the Row should get expanded. i.e. what currently displayed in the image.
My advice is to stick with the rowexpander plugin - it's UI is much more user friendly than what you want to do.
The other way is to use rowbody and add custom functionality to collapse the rowbody with an itemclick listener - yeah good luck with that :)
Related
Really need help with this, I have a continuous form with a combo box to choose data, each row has a different criteria and you can choose only certain items per row in the combo box drop down. (As an example I have four rows one is a cap, one is a bottle, one is a label and the last is oil to go in the bottle.)
What I need is when I have chosen something in the combo box drop down I want it to paste into a text box and stay there until another choice on the same row is made...... Currently I can make the information appear in the textbox but then when I move to another row and choose anothe item it over writes anything I have already chosen.
So an example would be I have chosen product 1, it has cap 1, bottle 1, label 1 and oil 1. In the drop down combo box I can choose only bottles to replace bottles caps to replace caps and so on. I want to choose bottle 2 in the combo box on the bottle line (Which changes all the combo boxes) I now want to save that choice in the text box on the bottle row only, then when I choose Label 2 on the label row even though it changes all the combo boxes I don't want it to overwrite the text box for the bottle row. (I'm assuming a criteria that will only change the row of the combo box you are clicking on or something like that)
hope this makes sense to every body (P.S. I don't know how to get a screen shot in here so have tried to explain to the best of my ability)
Many thanks
Justin
You have to bind the textbox to a field in the record.
As long as the textbox is unbound, it doesn't know about a record and will display the same for all records.
I'm making the assumption that you want to be able to map some product to 4 different types of caps, bottles, labels, and oil:
It seems that your problem is in your data table design, not in your comboboxes. You shouldn't need the text field at all. The problem is that your comboboxes are all based on the same table. When you select Bottle2 from one of them, it matches the rest of the comboboxes to that row. So all the others will get Label2, Cap2, etc. because they are in the same row of the table.
Make a products table call it tblProducts. The fields ID (autonumber), product_name, label_FK, cap_FK, Bottle_FK, and oil_FK should be in it. Those FK stand for Foreign key and should be a number type. The product name can be text.
Create the tblLabel, tblCap, etc. with an ID, and a description.
In your relationships you need to map the tblLable.ID to the tblProducts.Label_FK field. Do this for all 4 type. Then you can re-create the form based on the products table. Whatever the form gives you for the way to control the label_FK, cap_FK, etc. fields you can convert it to a combobox by right click -> change to...
Finally, you may need to update the number of columns of the comboboxes in order to see the description also.
EDIT: More lasting information -
Doing some solid research on data table design will pay huge dividends in design time. Starting with the Database Design Basics page from Microsoft will help as a decent 30 minute intro and should help clear some things up for you.
i would like to ask u if there is a way to navigate through sql data with combobox. I want to "download" data form DB to standard item model, choose one column and use it in combobox. When user chose one name it will give me proper id in model->DB id and allow me to chose data to show.
for ex. row with bike name, built_year, wheel size etc and show only its name in combobox, when it get chosen then show rest data in table
i'm just asking is this a good way or just dead end.
Yes, you can.
You can use QSqlQueryModel or QSqlTableModel to get the database data into a item model.
Than you can set the model to the combobox using QComboBox::setModel().
You can choose which column display in the combobox using QComboBox::setModelColumn()
See QComboBox documentation
I am having set of text boxes in the report and binding each columns in the text box from the Data set.
As of now only first record from the dataset is binding in the text box.
I need all the rows in the dataset to bind in the text boxes page wise.
Each row in the dataset bind to text boxes page wise.
First record in first page,Second record in second page ... etc.
How to achieve this? Help me to solve this...
Thanks in Advance,
Stephen.L
I recently faced the same issue, I used some help from stackoverflow to solve the issue, u might have already figured it out but this is to help others with similar issue.
Make sure you have a Dataset defined for your report.
Add a "Table" control to the report. This seems to be needed in order to iterate the rows in your Dataset.
Delete the header row and two of the default columns from the table so that you are left with a single row with a single column.
Expand the table to the width of your layout and make it as tall as you will need for your "free form" layout.
By default, there is a TextBox inside the table cell. Right-click the empty table cell and choose "delete" to remove that TextBox.
Drag a "Rectangle" control into the empty table cell. It seems to automatically "dock" to the width/height of the table cell.
Now you should be able to drag the fields from your DataSet (TextBoxes, etc) into the Rectangle to produce the desired layout.
You can use a List with page breaks at the end of details group.
How do I dynamically display the 'Edit' on the hyperlink field based on the values on the rows, generated from the database.
N/B.: the gridview automatically generates rows.
Do you mean you want a DataGridViewLinkColumn in the grid with Edit displayed if appropriate? Like this:
In which case, make the whole column a LinkColumn and whether or not it's clickable will be taken care of internally by the grid. Columns which don't display Edit will not be clickable.
If you don't mean this then please provide more detail.
i have a report that is attached to a query
i want to display the contents of a query. there are three columns. i made a list box but it looks weird:
alt text http://img130.imageshack.us/img130/2245/52036335.png
i dont want the scroll bars, i just need the three fields from a query to be displayed regularly just as they would be in a spread sheet or grid
In your report's Detail section, create a text box (not a list box) for each of those 3 fields in your query.
It might be easier to get oriented by creating an autoform based on the query.