Subject |
Author |
Date |
|
Roberto Párraga
|
Aug 6, 2011 - 9:40 AM
|
Hi, how to pass the rows of Uboundgrid control to an ArrayList or Collection? Roberto
|
|
Technical Support
|
Aug 18, 2011 - 1:56 AM
|
Please use the UnboundGridControl.Rows property.
|
|
John Pag
|
Jul 3, 2011 - 9:49 AM
|
Hi. How i can change cell button text programmatically after init grid cell styles and columns? The text property for cell button it is read only (((.
|
|
John Pag
|
Jul 4, 2011 - 12:49 PM
|
I found the way to do it...thanks ))) ((Elegant.Ui.Grid.DataRow)Grid.Rows[RowIndex]).Cells[Grid.Columns[2]].Style.LeftButtonText = "some text"
|
|
John Pag
|
Jul 4, 2011 - 12:38 PM
|
CellStyle.LeftButtonText and CellStyle.RightButtonText properties it is read only properties. I cannot change this properties. I need change button text after input some text in this row but other cell. This is my code to create grid column:
TextCellStyle btnColumnStyle = new TextCellStyle(); btnColumnStyle.AllowEdit = false;
btnColumnStyle.AlwaysShowLeftButton = true;
btnColumnStyle.LeftButtonText = "text";
btnColumnStyle.LeftButtonType = typeof(Elegant.Ui.Grid.TextCellButton);//.EllipsisCellButton);
btnColumnStyle.LeftButtonVerticalAlignment = VerticalAlignment.Top;
Column column2 = new Column();
column2.CellStyles.AddRange(new Elegant.Ui.Grid.CellStyle[] { btnColumnStyle });
column2.DataPropertyName = "Btn";
column2.HeaderText = " ";
column2.Visible = true;
column2.AllowResizing = false;
column2.Width = _BtnColumnWidth;
column2.FillWeight = 26F;
Grid.Columns.Add(column2); and after i try change text only for selected row and selected cell this way
((Elegant.Ui.Grid.DataRow)Grid.Rows[_SelectedRowIndex]).Cells[Grid.Columns[2]].LeftButton.Text = "some ..." is there any other way to make it?
|
|
John Pag
|
Jul 3, 2011 - 9:50 AM
|
in unbound grid control...
|
|
Technical Support
|
Jul 4, 2011 - 6:45 AM
|
Please use the CellStyle.LeftButtonText and CellStyle.RightButtonText properties. You can modify them using the VS Forms Designer or by handling the UnboundGridControl.ModifyCellStyle event.
|
|
Eric
|
Apr 18, 2011 - 2:52 PM
|
Hello
I am using the report grid.
When I sort, group, expand or collapse I lose the current selection.
I would really like to avoid setting up a system to save and restore my selection structure.
Is there a way to tell the report grid not to reset the selection during a sorting, grouping, expand or collapse operation?
|
|
Technical Support
|
Apr 19, 2011 - 7:19 AM
|
|
|
sean moynihan
|
Apr 14, 2011 - 6:25 AM
|
Purchased your elegant grid product , and would like assistance with following sample code that fills grid from XMl ( or any other table )
ds.ReadXml(
eGrid1.DataSource = ds.Tables[1];
@"c:\dotapps\test\parameters.xml");I need to be able to clear this grid, the usual way with datagridview etc is to set the data source to null
eGrid1.DataSource =
null;When I do this with elegant , i get a null reference exception What is the correct way to clear the grid , i searched your knowledge base , did find one previous ref in 2007 , but was unresolved ( I can attachsample project that loads data from xml file )
|
|
Technical Support
|
Apr 14, 2011 - 1:55 PM
|
The project you have attached to this letter misses the /Properties folder contents (AssemblyInfo.cs, Resources.resx, Settings.settings). Could you add these files and send the project us again so we could build it?
|
|
Pavel Murashov
|
Mar 28, 2011 - 12:10 AM
|
1. I use column with CellType == Color. And I use yours standard color dialog for edit this cells. But "More colors..." options don’t return another colors. 2. Do you have localize text (for ru-RU) for "More colors..." string in color popup window? I use Elegant.Ui.Grid 4.1 and put Elegant.Ui.Grid.resources.dll to ru-RU folder.
|
|
Technical Support
|
Mar 29, 2011 - 8:27 AM
|
1) It is not completely clear what you mean by: "More colors..." options don’t return another colors. Please elaborate. 2) But the default "More colors..." button is already localized if it is generated by designer. If you want to add this button from the code, please use the Elegant.Ui.MoreColorsButton button without setting its Text property.
|
|
Pavel Murashov
|
Mar 30, 2011 - 12:06 AM
|
1. Please run your "Simple Demos" application for Elegant Grid. Select "Progress Bar and Color Picker" list item. Click on a color cell to select the color. In popup window click "More colors..." button. Select a new custom color in the color dialog. Click OK. Color in the cell didn’t change. 2. I created Elegant.Ui.Grid.UnboundGridControl by designer. One of the column have a standard color (CellType = Color) cell style (AllowEdit = true, CustomEditor = (none)). It is also determined by the designer. So when you click on a cell popup color selection window appears automatically. And button "More colors..." it is not localized. I do
System.Globalization. System.Threading. System.Threading. CultureInfo ci_ru = new System.Globalization.CultureInfo("ru-RU");Thread.CurrentThread.CurrentCulture = ci_ru;Thread.CurrentThread.CurrentUICulture = ci_ru;
in Program.Main() and put Elegant.Ui.Grid.resources.dll to ru-RU folder with other russian resources.
|
|
Technical Support
|
Apr 11, 2011 - 2:49 AM
|
Thank you for the bug report. We’ve fixed the issue with ColorDialog not changing the cell color. Regarding the localization issue: did you also put Elegant.Ui.Common.resources.dll to ru-RU folder?
|
|
Pavel Murashov
|
Apr 11, 2011 - 3:42 AM
|
Yes, I put Elegant.Ui.Common.resources.dll (from C:\Program Files\FOSS Software Inc\Elegant Ribbon\Bin\Core\ru-RU\ folder) to Bin\Debug\ru-RU folder of my project. But button "More colors..." it isn’t localized, with the color selection dialog (that appears when you click button) on the Russian.
|
|
Technical Support
|
Apr 12, 2011 - 2:25 AM
|
Thank you, we confirm the issue. The fix will be included in the next version.
|
|
Technical Support
|
Apr 11, 2011 - 2:50 AM
|
The fix will be available in the next version of Elegant Grid.
|
|
Wali Akthar
|
Mar 15, 2011 - 6:21 AM
|
Hi, Is there an equivalent method for datarowboundevent in the boundgridcontrol? I want an event to be fired whenever a row is bound to the grid control so I can alter the contents of cells, for example format dates etc etc. Is this possible?? Thanks
|
|
Technical Support
|
Mar 15, 2011 - 12:34 PM
|
Please use the BoundGridControl.ModifyCellDisplayValue event.
|
|
Roberto Párraga
|
Mar 11, 2011 - 2:00 PM
|
Hi, I have installed Elegant Ribbon Elegant Grid 3.8 and 4.0, if I add a data grid control to a form, the grid appears as an icon below the form. If I uninstall Elegant Grid 3.8, the same error occurs.
Greetings.
|
|
Paddy
|
Jan 30, 2011 - 11:35 PM
|
Hi all,
I am still evaluating the Grid v3.8 and I am still not getting along with the control at all. I am not able to find any code samples for how to work with it.
Pretty much, I am working with three tables in a database that have an FK relationship. I am not using any designers. I prefer to code by hand. I have my code setup where I am creating one DataSet and then creating two DataTables within the DataSet for the information I want based on a FK. I also have a DataRelation set up for the DataTables due to the FK relationship within the database.
I know this works because the way I have the form setup, if an end-user types in a client name, if there is only one phone number for the client, the other controls are auto-populated with the information. This works without issue. If more than one phone number exist, a form comes up asking them to choose the phone number and phone number type from the BoundGrid control. This was coming up without issue prior to trying to code to get the BoundGrid to populate the information. This is where I am having the issue. I am trying to populate the BoundGrid from the DataSet/DataTables/DataRelation code I have going on. The issue I am having is that as soon as the form loads that holds the BoundGrid control, I am getting an OutOfMemoryException and then my app crashes.
The following is what I have done and what I have tried to do to get the BoundGrid to populate the information. Please note that the code to populate the BoundGrid is toward the bottom of the Sub.
|
|
Technical Support
|
Feb 2, 2011 - 5:31 AM
|
We asked to you send us a test project so that we can help you more efficiently. Could you do that? Thank you.
|
|
Paddy
|
Jan 30, 2011 - 11:37 PM
|
<CLSCompliant(True)> Private Sub cboClientName_LostFocus(ByVal sender As Object, _
ByVal e As System.EventArgs) Handles CboClientName.LostFocus
’Only run the following code if there is data present/selected/typed in the ComboBox.
With CboClientName
If .Text.Trim.Length > 0 _
AndAlso .Text.Trim IsNot Nothing Then
’Check the backend database to see if the client name exists.
’If the client name exists, check to see how many phone numbers the client has.
’If there is only one phone number, populate the MaskedTextBox and ComboBox.
’If there are multiple phone numbers, show a form for the end user to choose the phone number
’they want.
Using SetDatabaseConnection As SqlConnection = New SqlConnection(GetDatabaseConnectionString)
Try
’Open the connection to the database.
SetDatabaseConnection.Open()
’Create a DataSet.
Dim ClientInfoDS As DataSet = New DataSet
’Set the locale of the DataSet.
ClientInfoDS.Locale = CurrentCulture
’Create two DataTables.
Dim ClientPhoneDT As DataTable = New DataTable("ClientInformation_PhoneNumbers")
Dim ClientPhoneTypeDT As DataTable = New DataTable("ClientInformation_PhoneNumberType")
’Set the locale for the DataTables.
ClientPhoneDT.Locale = CurrentCulture
ClientPhoneTypeDT.Locale = CurrentCulture
’Create the columns for the DataTables.
With ClientPhoneDT
.Columns.Add(New DataColumn("PhoneNumberID_PK", GetType(Integer)))
.Columns.Add(New DataColumn("ClientPhoneNumber", GetType(String)))
.Columns.Add(New DataColumn("PhoneNumberTypeID_PKFK", GetType(Integer)))
.Columns.Add(New DataColumn("ClientInfoID_PKFK", GetType(Integer)))
’Set the primary key column.
Dim PrimaryKey(1) As DataColumn
PrimaryKey(1) = .Columns("PhoneNumberID_PK")
.PrimaryKey = PrimaryKey
End With
With ClientPhoneTypeDT
.Columns.Add(New DataColumn("PhoneNumberTypeID_PK", GetType(Integer)))
.Columns.Add(New DataColumn("PhoneNumberTypeName", GetType(String)))
’Set the primary key column.
Dim PrimaryKey(1) As DataColumn
PrimaryKey(1) = .Columns("PhoneNumberTypeID_PK")
.PrimaryKey = PrimaryKey
End With
’Add the DataTables to the DataSet.
With ClientInfoDS
.Tables.Add(ClientPhoneDT)
.Tables.Add(ClientPhoneTypeDT)
End With
’Create a DataRelation for the two tables.
Dim ClientInfoDRe As DataRelation
’Create a new SQLCommand.
Dim MySQLCommand As SqlCommand = New SqlCommand
’Set the attributes for the SQLCommand.
With MySQLCommand
.Connection = SetDatabaseConnection
.CommandType = CommandType.StoredProcedure
.CommandText = "sp_GetPhoneInfoByName"
.Parameters.AddWithValue("@ClientName", CboClientName.Text.Trim.ToString)
End With
’Create a DataAdapter.
Dim ClientInfoDA As SqlDataAdapter = New SqlDataAdapter(MySQLCommand)
’Clear the DataSet prior to doing anything.
ClientInfoDS.Clear()
’Fill the DataTables with the information found.
With ClientInfoDA
.Fill(ClientPhoneDT)
.Fill(ClientPhoneTypeDT)
End With
’Create two DataColumns for the DataRelation relationship.
Dim ParentTableDC, ChildTableDC As DataColumn
With ClientInfoDS
’Create the DataRelation between the PK/FK columns.
ParentTableDC = .Tables("ClientInformation_PhoneNumberType").Columns("PhoneNumberTypeID_PK")
ChildTableDC = .Tables("ClientInformation_PhoneNumbers").Columns("PhoneNumberTypeID_PKFK")
’Create a new DataRelation.
ClientInfoDRe = New DataRelation("Phone Numbers", ParentTableDC, ChildTableDC)
’Add the DataRelation to the DataSet housing the two DataTables.
.Relations.Add(ClientInfoDRe)
End With
’Create two DataRows. One for the parent and another for the child.
Dim ParentTableDR, ChildTableDR As DataRow
’Now the fun begins, let’s go ahead and get the information from the DataTables.
’If there is one phone number, auto populate the MaskedTextBox with the phone number and ComboBox with the phone number type.
’If there are multiple phone numbers, show a form to allow the end user to select the desired phone number.
’If there are no records returned, focus the MaskedTextBox.
For Each ParentTableDR In ClientInfoDS.Tables("ClientInformation_PhoneNumberType").Rows ’PK.
For Each ChildTableDR In ParentTableDR.GetChildRows(ClientInfoDRe) ’FK.
’Now see how many records were returned.
Select Case ClientInfoDS.Tables("ClientInformation_PhoneNumberType").Rows.Count
Case 0 ’No records.
’No records returned, go ahead and focus the MaskedTextBox.
MtbClientPhoneNumber.Focus()
’Go no further because nothing returned.
Exit For
Case 1 ’One record.
’Yippee! A record was returned.
’Auto populate the the MaskedTextBox (Phone Number).
’Auto populate a default value in the ComboBox (Phone Number Type).
MtbClientPhoneNumber.Text = ChildTableDR("ClientPhoneNumber").ToString
CboPhoneNumberType.Text = ParentTableDR("PhoneNumberTypeName").ToString
’Focus the Partner Name ComboBox.
CboPartnerName.Focus()
Case Else ’Multiple records.
With FrmMultiPhoneSelect
’Add some text to the Form Caption Label.
.LblFormCaption.Text = "Please select a phone number from the list below that you would like to use for " & CboClientName.Text & "."
’Populate the control with all the phone numbers and phone number types.
With .GridPhoneNumbers
Dim ClientInfoBS As BindingSource = New BindingSource
With ClientInfoBS
.DataMember = "ClientInformation_PhoneNumbers" ’Child table.
.DataSource = ClientInfoDS ’DataSet that holds two DataTables and has a DataRelation.
End With
.DataSource = ClientInfoBS ’BindingSource.
’Phone Number.
.Columns(0).MappingDataSource = ParentTableDC
.Columns(0).MappingDisplayDataMember = ChildTableDR("ClientPhoneNumber").ToString
.Columns(0).MappingValueDataMember = ChildTableDR("ClientPhoneNumber").ToString
’Phone Number Type.
.Columns(1).MappingDataSource = ChildTableDC
.Columns(1).MappingDisplayDataMember = ParentTableDR("PhoneNumberTypeName").ToString
.Columns(1).MappingValueDataMember = ParentTableDR("PhoneNumberTypeName").ToString
End With
End With
’Show a form to the end user, so that s/he can select from a list of available phone numbers.
ShowFormInMDI(FrmMultiPhoneSelect, FrmMain)
End Select
Next ChildTableDR
Next ParentTableDR
’Close the database connection.
SetDatabaseConnection.Close()
Catch ex As SqlException
MessageBox.Show("There was an error getting data from the database. The error is:" & vbNewLine & _
ex.Message, _
"Error Retrieving Data.", _
MessageBoxButtons.OK, _
MessageBoxIcon.Information, _
MessageBoxDefaultButton.Button1, _
MessageBoxOptions.DefaultDesktopOnly, _
False)
End Try
End Using
End If
End With
End Sub
|
|
Paddy
|
Jan 30, 2011 - 11:46 PM
|
If I just do the following: With FrmMultiPhoneSelect
’Add some text to the Form Caption Label.
.LblFormCaption.Text = "Please select a phone number from the list below that you would like to use for " & CboClientName.Text & "."
’Populate the control with all the phone numbers and phone number types.
With .GridPhoneNumbers
.DataSource = ClientInfoDS
.DataMember = "ClientInformation_PhoneNumbers"
End With
End With
Then two rows are generated in the BoundGrid but no information shows at all. I am not getting any errors at this point when I try that. This particular test client has two phone numbers available. I will see if I can get the information to populate. FYI, the BoundGrid has two columns.
|
|
steph guillard
|
Dec 2, 2020 - 2:15 AM
|
|
|
Paddy
|
Jan 30, 2011 - 11:51 PM
|
OK, I am still not able to get the data to display. It just creates two rows with empty cells.
I have tried the following too and no go.
With FrmMultiPhoneSelect
’Add some text to the Form Caption Label.
.LblFormCaption.Text = "Please select a phone number from the list below that you would like to use for " & CboClientName.Text & "."
’Populate the control with all the phone numbers and phone number types.
With .GridPhoneNumbers
.DataSource = ClientInfoDS
.DataMember = "ClientInformation_PhoneNumbers"
.Columns(0).MappingDisplayDataMember = ChildTableDR("ClientPhoneNumber").ToString
.Columns(0).MappingValueDataMember = ChildTableDR("ClientPhoneNumber").ToString
.Columns(1).MappingDisplayDataMember = ParentTableDR("PhoneNumberTypeName").ToString
.Columns(1).MappingValueDataMember = ParentTableDR("PhoneNumberTypeName").ToString
End With
End With
|
|
Paddy
|
Jan 30, 2011 - 11:59 PM
|
If I try the following, I am told InvalidOperationException. Cannot bind to IListSource instance. With FrmMultiPhoneSelect
’Add some text to the Form Caption Label.
.LblFormCaption.Text = "Please select a phone number from the list below that you would like to use for " & CboClientName.Text & "."
’Populate the control with all the phone numbers and phone number types.
With .GridPhoneNumbers
’DataSet that holds two DataTables with a DataRelation.
.DataSource = ClientInfoDS
’Table that holds the PK in the PK/FK relationship.
.DataMember = "ClientInformation_PhoneNumberType"
’The columns within the DataTables for the columns in the BoundGrid.
.Columns(0).MappingDataSource = ClientInfoDS
.Columns(0).MappingDisplayDataMember = ChildTableDR("ClientPhoneNumber").ToString
.Columns(0).MappingValueDataMember = ChildTableDR("ClientPhoneNumber").ToString
.Columns(1).MappingDataSource = ClientInfoDS
.Columns(1).MappingDisplayDataMember = ParentTableDR("PhoneNumberTypeName").ToString
.Columns(1).MappingValueDataMember = ParentTableDR("PhoneNumberTypeName").ToString
End With
End With
|
|
Technical Support
|
Jan 31, 2011 - 5:25 AM
|
Could you send us a sample project that illustrates the issue?
|
|
Paddy
|
Jan 31, 2011 - 10:25 PM
|
With the code I have, am I even doing it right? I can more than likely do this with a DataSet but this DataSet has two DataTables with a DataRelation. I am unable to get this to work. Should be simple to populate this Grid. Other than that, might have to drop Grid and go with ListView instead. I’d rather not have to do that though.
|
|
Paddy
|
Jan 31, 2011 - 10:26 PM
|
In the ListView, there it an .Items.Add option, I don’t seem to find anything in your intellisence to be able to add the rows.
|
|
Paddy
|
Feb 1, 2011 - 4:59 AM
|
I have been working at this for weeks now and still not able to get it to work. Not about to pay $95 for a control that is useless to me. I have tried the following and it creates two rows which are completely blank (no data). What am I doing wrong?! With .GridPhoneNumbers
.DataSource = ClientInfoDS
.DataMember = ClientInfoDS.Tables(PhoneNumberTypeTable).ToString
’Phone Numbers.
.Columns(0).MappingDisplayDataMember = ChildTableDR(ClientPhoneNumberColumn).ToString
.Columns(0).MappingValueDataMember = ChildTableDR(ClientPhoneNumberColumn).ToString
’Phone Number Types.
.Columns(1).MappingDisplayDataMember = ParentTableDR(PhoneNumberTypeNameColumn).ToString
.Columns(1).MappingValueDataMember = ParentTableDR(PhoneNumberTypeNameColumn).ToString
End With
End With
|
|
Paddy
|
Feb 1, 2011 - 5:06 AM
|
Even tried the following just now and nothing. Just creates two blank rows of cells. Frustrating! For Each ParentDR In ClientInfoDS.Tables(PhoneNumberTypeTable).Rows ’PK.
For Each ChildDR In ParentTableDR.GetChildRows(ClientInfoDRe) ’FK.
’Add the phone numbers and the phone number types to the grid.
With FrmMultiPhoneSelect.GridPhoneNumbers
.DataSource = ClientInfoDS
.DataMember = ClientInfoDS.Tables(PhoneNumberTypeTable).ToString
’Phone Numbers.
.Columns(0).MappingDisplayDataMember = ChildDR(ClientPhoneNumberColumn).ToString
.Columns(0).MappingValueDataMember = ChildDR(ClientPhoneNumberColumn).ToString
’Phone Number Types.
.Columns(1).MappingDisplayDataMember = ParentDR(PhoneNumberTypeNameColumn).ToString
.Columns(1).MappingValueDataMember = ParentDR(PhoneNumberTypeNameColumn).ToString
End With
Next ChildDR
Next ParentDR
|
|
Technical Support
|
Feb 2, 2011 - 6:13 AM
|
Could you also check your email address? We can see that messages from this forum are not delivered to you.
|
|
Paddy
|
Feb 2, 2011 - 8:15 AM
|
I recently updated my email address and address the other day. All should be fine. I have tried so hard to get the control to display the data and its only displaying two rows and empty cells. I even checked the font color and its not a color whereby the text would be hidden. I am lost when it comes to working with the grid v3.8 please do help if you can.
|
|
Technical Support
|
Feb 2, 2011 - 8:49 AM
|
We asked you to create a simple test project and send it to us so that we can help you. Do you have any problems with that?
|
|
Paddy
|
Feb 2, 2011 - 8:59 AM
|
I don’t have a problem with that. I would also have to send a copy of my database as a BAK file along with it. This database has personal information in it but I am sure I could replace the records with dummy records for security reasons. Do you have access to an instance of SQL Server 2005?
|
|
Technical Support
|
Feb 2, 2011 - 9:03 AM
|
Your test project and db bak will be fine. We will restore the db on SQL Server 2005 and check what’s wrong.
|
|
Paddy
|
Feb 3, 2011 - 1:49 PM
|
The code I am using is being used on multiple forms, so I have it in a module. When I am pulling up that form to display a user with multiple phone numbers, I am not doing it in form load event. I have not tried it in the form load event. I would rather not duplicate the code. Almost 200 lines of code is being used for that particular situation. Where can I send the project and bak file? Would rather not post it on the forum.
|
|
Technical Support
|
Feb 4, 2011 - 2:58 AM
|
|
|
Wali Akthar
|
Jan 4, 2011 - 3:34 AM
|
Is it possible to maintain the scroll position within the BoundGridControl so when the datasource is refreshed, the scroll position is maintained? Thanks,
|
|
Technical Support
|
Jan 5, 2011 - 9:34 AM
|
Please make sure that you are using the same data source collection object (List, DataTable, etc) for data items addition or removal, and not using a newly created one. In this case the scroll position will be maintained automatically. Also, please note that if you are using a non-observable collection (Array, List, etc) as a data source, you should call the BoundGridControl.UpdateBinding() method to apply the data source changes to a grid.
|
|
John Pag
|
Jan 3, 2011 - 2:01 AM
|
when will u have in .ΝΕΤ version the freezing row and columns for the grid?
|
|
Technical Support
|
Jan 5, 2011 - 9:35 AM
|
Thank you for the suggestion. We will consider adding these features to the next release of the Elegant Grid.
|
|
Paddy
|
Jan 2, 2011 - 6:09 AM
|
I am using v3.8
I have a unbound grid on the form with four columns. The last column is set as a ComboBoxCell. Where do I go to programatically make the ComboBoxCell display the DropDownList and populate it with some values? I have tried many things and I don’t know what I am doing. I can’t even find what I need in the properties window of the unbound grid. Please advise.
|
|
Technical Support
|
Jan 5, 2011 - 9:52 AM
|
Please use the following properties of the Column class: MappingDataSource, MappingValueDataMember, MappingDisplayDataMember. They have the same meaning as the corresponding properties of the standard ComboBox (DataSource, ValueDataMember, DisplayDataMember). The usage is illustrated in ProgressBarAndColorPicker part of the SimpleDemos example.
|
|
Paddy
|
Jan 2, 2011 - 2:15 AM
|
I am using v3.8 and the unbound grid grid has four columns. I have selected and configured the Sorting property of each column for ascending order. However, when I add items to the grid and then click the column header, the sort arrow moves up or down like its supposed to but the content of the grid for the particular column doesn’t change order. It says as-is. What am I doing wrong? I must be missing something.
|
|
Technical Support
|
Jan 5, 2011 - 7:19 AM
|
When you are using an unbound grid control you should maintain data sorting manually or disable it at all. Use a bound grid control with a data source if you want the data to be sorted automatically. Important thing here is that sorting is always applied on the data site rather than on the grid site.
Regarding the sorting rules issue. You can’t have more than one sorting rule for each column. When you need to change the sorting direction, you just set the SortRule.Direction property to another value.
|
|
Paddy
|
Jan 2, 2011 - 4:09 AM
|
Update:
I added additional sort rules. Two sort rules for each column. One for descending and another for ascending. When I go to pull the form up in run-time, I get the following error:
Invalid Operation Exception
An error occurred creating the form. See Exception.InnerException for details. The error is: Sorting rule with the same column already exists in the collection.
|
|
Paddy
|
Dec 30, 2010 - 11:06 PM
|
Hi, Is there any chance of a code sample for being able to search an unbound grid for a value upon a button click? I need to make sure a value added to the grid by use of a textbox isnt present in the grid prior to adding the value. thanks.
|
|
Technical Support
|
Jan 5, 2011 - 9:52 AM
|
Please take a look at the following example:
string searchText = "MyText";
foreach (Row row in unboundGridControl1.Rows)
{
DataRow dataRow = row as DataRow;
if (dataRow != null)
{
foreach (TextCell cell in dataRow.Cells)
{
object o = cell.DataValue;
if (o != null)
{
if (((string)o).Contains(searchText))
{
MessageBox.Show("Found.");
return;
}
}
}
}
}
MessageBox.Show("Not Found.");
|
|
Paddy
|
Jan 5, 2011 - 7:33 PM
|
Thanks for the sample. If I only wanted to check the first column and disregard the others, how would I do that? This is what I have currently. Private Sub cmdSearchComputerType_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdSearchComputerType.Click
’Search the grid for the item and then highlight it.
Dim TextToSearch As String = txtSearchComputerType.Text.ToString
For Each MyRow As Row In gridComputerType.Rows
Dim MyDataRow As DataRow = TryCast(MyRow, DataRow)
If MyDataRow IsNot Nothing Then
For Each MyCell As TextCell In MyDataRow.Cells
Dim objDataValue As Object = MyCell.DataValue
If objDataValue IsNot Nothing Then
If DirectCast(objDataValue, String).Contains(TextToSearch) Then
’Text is found. Highlight the item.
Return
’Focus the search field.
txtSearchComputerType.Focus()
Else ’Not found.
If MessageBox.Show("The search criteria of " & TextToSearch & " could not be found. " & _
"You might want to consider adding " & TextToSearch & " as an option. Click Yes to add the " & _
"option and No to not add the option.", _
TextToSearch & " Not Found", _
MessageBoxButtons.YesNo, _
MessageBoxIcon.Information, _
MessageBoxDefaultButton.Button2) = Windows.Forms.DialogResult.Yes Then
’Yes was clicked on by the end user. Auto insert the value.
txtComputerType.Text = txtSearchComputerType.Text
’Focus the add button.
cmdComputerTypeAdd.Focus()
Else ’No was clicked on.
’Clear and focus the search field.
With txtSearchComputerType
.Clear()
.Focus()
End With
End If
End If
End If
Next MyCell
End If
Next MyRow
End Sub
|
|
Technical Support
|
Jan 6, 2011 - 3:34 AM
|
Please replace the loop For Each MyCell As TextCell In MyDataRow.Cells with the line Dim MyCell As Cell = MyDataRow.Cells(YourFirstColumn)
|
|
Paddy
|
Jan 6, 2011 - 8:28 AM
|
I can’t get this to work. I quit with this control! Gonna use Microsoft instead, it’s easier to code with.
|
|
Paddy
|
Dec 30, 2010 - 2:07 AM
|
Hi,
I am trying to use the Unbound Grid Control for the first time. I have the grid setup with four columns. The column names/Types are as follows:
Column 1: Text = ComputerType
Column 2: DateTime = ComputerTypeDateAdded
Column 3: DateTime = ComputerTypeDateModified
Column 4: ComboBox = ComputerTypeItemVisibility
When I click on the Add button, I am wanting to add a value from the Textbox (txtComputerType) to the first column, todays date to the second column, no date to the third column and True/False to the fourth column but have the option defaulted to True.
When I click on the Add button with my current logic, the item is not added and no errors are generated. How do you add this information using this control? I am familiar with the Microsoft ListView and was trying to go the same route as that but it isn’t doing anything.
Screen shot of the form is here: dl.dropbox.com/u/5335929/FormScreenShot.png
My code is as follows:
Private Sub cmdComputerTypeAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdComputerTypeAdd.Click
’Add an item to the grid
’Make sure that the ComputerType is unique
’If unique, add the item
’If not unique, do not add the item and notify the end user
’Computer Type = Text = ComputerType
’Date Added = DateTime = ComputerTypeDateAdded
’Date Modified = DateTime = ComputerTypeDateModified = addition doesnt apply because not applicable
’Item Visibility = ComboBox = ComputerTypeItemVisibility = True/False
With gridComputerType
Dim MyGridItem As GridItem
Dim TodaysDate As Date = Date.Today
For Each MyGridItem In .Rows
If Not MyGridItem.Value Is txtComputerType.Text.ToString.Trim Then ’item to be added doesnt exist
’add the item
’nothing happens, no errors
.Rows.Add(CType(MyGridItem.Value, Elegant.Ui.Grid.Row))
Else ’item to be added exists
’notify the end user
If MessageBox.Show("The item " & txtComputerType.Text.ToString.Trim & " already exists. Item must be unique;" & _
"therefore, it cannot be added to the list of available options.", _
"Item Already Exists", _
MessageBoxButtons.OK, _
MessageBoxIcon.Information, _
MessageBoxDefaultButton.Button1) = Windows.Forms.DialogResult.OK Then
With txtComputerType
’refocus the text box for end user modification
.Focus()
’select all text for easy editing
.SelectAll()
End With
End If
End If
Next MyGridItem
End With
End Sub
|
|
Paddy
|
Dec 30, 2010 - 7:55 PM
|
finally was able to add a row. resolved.
|
|
Paddy
|
Dec 30, 2010 - 7:27 PM
|
Ok, please disregard. I think I am making some progress.
|
|
Paddy
|
Dec 30, 2010 - 7:15 PM
|
Ok, I have worked out the late binding issue but when I click add, no errors and nothing is added. I am getting a little frustrated now! :)
My code is as follows. If I can’t get your control to work then I am not going to bother with it. It shouldn’t be this difficult to work with your controls.
Private Sub cmdComputerTypeAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdComputerTypeAdd.Click
’Add an item to the grid
’Make sure that the ComputerType is unique
’If unique, add the item
’If not unique, do not add the item and notify the end user
’Computer Type = Text = ComputerType
’Date Added = DateTime = ComputerTypeDateAdded
’Date Modified = DateTime = ComputerTypeDateModified = addition doesnt apply because not applicable
’Item Visibility = ComboBox = ComputerTypeItemVisibility = True/False
With gridComputerType
Dim MyDataRow As DataRow = .NewDataRow
Dim ComputerTypeTextCell As TextCell = CType(MyDataRow.AddNewCell(GetType(TextCell), ComputerType), TextCell)
Dim ComputerTypeDateAddedTextCell As TextCell = CType(MyDataRow.AddNewCell(GetType(DateTimeCell), ComputerTypeDateAdded), TextCell)
Dim ComputerTypeDateModifiedTextCell As TextCell = CType(MyDataRow.AddNewCell(GetType(DateTimeCell), ComputerTypeDateModified), TextCell)
Dim ComputerTypeItemVisibilityTextCell As TextCell = CType(MyDataRow.AddNewCell(GetType(ComboBoxCell), ComputerTypeItemVisibility), TextCell)
’add the items
ComputerTypeTextCell.DataValue = txtComputerType.Text.ToString.Trim
ComputerTypeDateAddedTextCell.DataValue = dteTodaysDate
ComputerTypeDateModifiedTextCell.DataValue = ""
ComputerTypeItemVisibilityTextCell.DataValue = "True"
End With
End Sub
|
|
Paddy
|
Dec 30, 2010 - 6:54 PM
|
I have been trying to work with your Unbound Grid and I am getting an error. Screen shot attached here: dl.dropbox.com/u/5335929/LateBindError.png I don’t even know if I am doing it right. Your documentation is not easy to follow at all!
|
|
Technical Support
|
Dec 30, 2010 - 8:32 AM
|
You can find the source code of the samples in C:\Program Files\FOSS Software Inc\Elegant Grid\Samples.
|
|
Paddy
|
Dec 30, 2010 - 8:46 AM
|
I installed Elegant Grid and C:\Program Files\FOSS Software Inc\Elegant Grid\Samples doesn’t exist.
|
|
Technical Support
|
Dec 30, 2010 - 12:36 PM
|
Sorry, starting from v.3.8, the samples are located in the following directory: C:\Users\All Users\Documents\FOSS Software Inc\Elegant Grid\Samples for Windows Vista and higher C:\Documents and Settings\All Users\Documents\FOSS Software Inc\Elegant Grid\Samples for Windows XP
|
|
Paddy
|
Dec 30, 2010 - 4:51 PM
|
I found them! However, there’re in C and I write in VB. Do you have any samples in VB.net?
|
|
Technical Support
|
Dec 30, 2010 - 6:32 AM
|
You can find the samples in the Elegant Grid install location.
|
|
Paddy
|
Dec 30, 2010 - 7:48 AM
|
I used the control that came with Elegant Ribbon, so wasn’t able to find the code samples. I have now downloaded and installed Elegant Grid. Once I get this control to work the way I intend, I intend on purchasing a license for it. I will see if I can figure this out on my own using your code sample. If not, I will be back to see if I can get some sample code.
|
|
Paddy
|
Dec 30, 2010 - 7:55 AM
|
After download, the help file is useless to me because it’s like the Microsoft one and I never understood it. The samples I got from downloading are compiled so can’t see the code. I am at a loss now!
|
|
Technical Support
|
Dec 30, 2010 - 5:22 AM
|
ou should use the UnboundGridControl.NewDataRow method in order to create a row. You can see how to use the unbound grid in the SimpleDemo sample (the Enum page).
|
|
Paddy
|
Dec 30, 2010 - 5:56 AM
|
I don’t understand.
I have also attempted to find the SimpleDemo sample and not able to locate.
|
|
Mark Veitch
|
Nov 23, 2010 - 8:39 AM
|
I have a MDI form application that allows me to populate multiple BoundGridControls from the same source with different data depending on user selections. Each grid is in it’s own form. Each form is in a dockable panel using a third party DLL. I can open up multiple instances of the datagrid and can dock these forms or have them as floating forms. I can successfully drag and drop (D&D) rows within a grid and can also D&D them between seperate grids regardless of their docked state. It currently allows single rows or multi selected rows and both work successfully. However, when I perfom the D&D across the grids column headers (e.g. one grid is docked within my parent form above another grid) then as soon as the DragLeave event fires as it hits the column header, the cursor turns to an illegal action cursor and remains that way until the D&D enters back into the source grid. Unfortunately at that time the D&D events seem to have been killed. This includes those in other instances of grids and in effect we can no longer perform any D&Ds. I can only assume that something like the AllowDrop property of the column headers row is interupting our event subscriptions. As we do not require the ability to re-order columns or D&D into/from them is there anything we can do to stop it killking our D&D actions? We set our column headers dynamically and at that point I have tried setting various properties but none make any productive difference.
ctlOveriddenElegantGrid1.Columns.AddRange(columns);
//ctlOveriddenElegantGrid1.Columns.GridControl.AllowColumnResizing = false;
//ctlOveriddenElegantGrid1.Columns.GridControl.AllowDraggingOffColumns = false;
//ctlOveriddenElegantGrid1.Columns.GridControl.AllowDrop = false;
Many thanks for any help. //ctlOveriddenElegantGrid1.AllowDrop = false;
|
|
Technical Support
|
Nov 29, 2010 - 4:45 AM
|
Could you send us a test project that illustrates the issue? We assume you are using v.1.3.
Thank you.
|
|
Technical Support
|
Nov 24, 2010 - 9:01 AM
|
Thank you for the bug report. We are investigating the problem right now and will contact you back about this as soon as possible (within two days).
|
|
Anthony Maurer
|
Oct 26, 2010 - 9:04 AM
|
When I use the standard ListView control inside of a ribbon, the items in the ListView flicker when I move the mouse away from or into the ListView’s ribbon group. This probably has to do with the fading in/out effect of the ribbon group. Also, there isn’t a themed ListView control included with Elegant Ribbon 3.7. Are there any plans to release one with 3.8? Thanks, InStep Dev Team
|
|
Technical Support
|
Oct 27, 2010 - 8:27 AM
|
Thank you for reporting this issue. It is caused by that the Windows ListView component doesn’t use double buffering for drawing its content. We added a fix so that you can workaround this issue in this way: ribbonGroup1.SetStyleEx(ControlStylesEx.InvalidateChildrenDuringAnimation, false); This fix will be available in v.3.8 beta coming soon.
|
|
Aleksander Hribšek
|
Sep 28, 2010 - 7:40 AM
|
I have seen a thread that the Grid control is not supporting "newer" themes provided in your framework. When will this be fixed?
I would like to have the same look throughout all my applications. Thank you.
|
|
Technical Support
|
Oct 6, 2010 - 2:54 AM
|
Thank you for pointing that out. We are preparing the release of Elegant Ribbon 3.8. With that release, we plan to release Elegant Grid 3.8, which should come with the same set of themes that in Elegant Ribbon.
|
|
John Pag
|
Sep 24, 2010 - 3:58 AM
|
You can show me one sample with Report grid for .NET as Report Grid for MFC?
|
|
Technical Support
|
Jan 5, 2011 - 9:55 AM
|
We are sorry but report mode is not supported by Elegant Grid.
|
|
Anand Lakshman
|
Sep 24, 2010 - 1:40 AM
|
Please sort out my Problem
i`m new to .net environment
i have work on - wpf - requirement need a editor window where i can drag and drop controls and controls in editor window can be initialized via - property control
so i want to know how can resolve this problem
what should my toolbox control , how its need to be designed as well as
editor window it should be Form, window, panel or frame or is there some other control where i can use to solve this problem
please help me out thanks
thanks a lot
|
|
Technical Support
|
Sep 24, 2010 - 3:23 AM
|
We would be happy to help you out but we don’t specialize in developing WPF controls at the moment. Sorry.
|
|
John Pag
|
Sep 2, 2010 - 7:57 AM
|
How i can Freeze some column in bound or unbound grid?
|
|
Technical Support
|
Jan 5, 2011 - 9:56 AM
|
Thank you for the suggestion. We will consider adding these features to the next release of the Elegant Grid
|