Hello,
One of RadMenuItem constructors is new RadMenuItem("TEXT", object Tag)..
How do I retrieve that Tag value in code?
Thanks


I have a grid that is populated from a BindingList (I am working with the EntityFramework)
The CellValueChanged event does apply the changes to the underlying database
But When I add a new row, the UserAddedRow (which is fired) does not add the row to the underlying database (and does not generate an error)
Despite long hours of research I have not found the solution to add a new row to my table by typing it's value in the "New Row" of the grid
Thanks in advance
The code snipet:
'Populate the Grid
Dim mArena As New mArena(context)
Dim allArenas As BindingList(Of Arena) = mArena.GetArenasByShowId(idShow)
gvArena.AutoGenerateColumns = True
gvArena.DataSource = allArenas
Public Function GetArenasByShowId(ByVal idShow As Integer) As BindingList(Of Arena)
Try
Dim Query = (From aArena As Arena In context.Arenas
Where aArena.idShow = idShow
Order By aArena.Name)
Return New BindingList(Of Arena)(Query.ToList())
Catch ex As Exception
RaiseEvent msg("F", ex.Message)
Return Nothing
End Try
End Function
'Grid Events
Private Sub gvArena_CellValueChanged(sender As Object, e As GridViewCellEventArgs) Handles gvArena.CellValueChanged
Try
context.SaveChanges()
Catch ex As Exception
RaiseEvent msg("F", "CellValueChanged: " & ex.Message)
End Try
End Sub
Private Sub gvArena_UserAddedRow(sender As Object, e As GridViewRowEventArgs) Handles gvArena.UserAddedRow
Try
gvArena.EndEdit()
context.SaveChanges()
Catch ex As Exception
RaiseEvent msg("F", "AddedRow: " & ex.Message)
End Try
End Sub

Hello,
Is there a way to implement conditional formatting of rows of RadMultiColumnComboBox or set back color of its row depending on a condition while row is added (the control is unbound)?
Thanks
Wojciech

Hi,
when I add a ribbon to a form, it automatically contains a titlebar with minimize/maximize/close buttons.
However, I would like for the form to continue using the default form one, rather than the one in the ribbon control (as I have no need for the quick menu in my app).
How do I go about hiding the titlebar of the ribbon control?
Regards,
Thomas



| public class CheckBoxHeaderCell : GridHeaderCellElement |
| { |
| RadCheckBoxElement checkbox; |
| public CheckBoxHeaderCell(GridViewColumn column, GridRowElement row) |
| : base(column, row) |
| { |
| } |
| protected override void DisposeManagedResources() |
| { |
| checkbox.ToggleStateChanged -= new StateChangedEventHandler(checkbox_ToggleStateChanged); |
| base.DisposeManagedResources(); |
| } |
| protected override void CreateChildElements() |
| { |
| base.CreateChildElements(); |
| checkbox = new RadCheckBoxElement(); |
| checkbox.ToggleStateChanged += new StateChangedEventHandler(checkbox_ToggleStateChanged); |
| this.Children.Add(checkbox); |
| ApplyThemeToElement(checkbox, "ControlDefault"); |
| } |
| protected override SizeF ArrangeOverride(SizeF finalSize) |
| { |
| base.ArrangeOverride(finalSize); |
| if (checkbox != null) |
| { |
| RectangleF rect = GetClientRectangle(finalSize); |
| checkbox.Arrange(new RectangleF(rect.Right - 20, (rect.Height - 20) / 2, 20, 20)); |
| } |
| return finalSize; |
| } |
| private void checkbox_ToggleStateChanged(object sender, StateChangedEventArgs args) |
| { |
| this.GridControl.BeginEdit(); |
| for (int i = 0; i < this.GridControl.Rows.Count; i++) |
| { |
| this.GridControl.Rows[i].IsSelected = true; |
| this.GridControl.Rows[i].IsCurrent = true; |
| this.GridControl.Rows[i].Cells["Mostrar"].Value = this.checkbox.IsChecked; |
| } |
| this.GridControl.EndEdit(); |
| } |
| private void ApplyThemeToElement(RadItem item, string themeName) |
| { |
| DefaultStyleBuilder builder = ThemeResolutionService.GetStyleSheetBuilder((RadControl)item.ElementTree.Control, |
| item.GetThemeEffectiveType().FullName, string.Empty, themeName) as DefaultStyleBuilder; |
| if (builder != null) |
| { |
| item.Style = new XmlStyleSheet(builder.Style).GetStyleSheet(); |
| } |
| } |
| } |
| private void radGridView1_CreateCell(object sender, GridViewCreateCellEventArgs e) |
| { |
| if (e.Row is GridTableHeaderRowElement && e.Column.HeaderText == "Mostrar") |
| { |
| e.CellElement = new SMPDataAnalyzer.TelerikHeaderGrid.CheckBoxHeaderCell(e.Column, e.Row); |
| } |
| } |
| private void radGridView1_ValueChanged(object sender, EventArgs e) |
| { |
| try |
| { |
| if (this.radGridView1.ActiveEditor is RadCheckBoxEditor) |
| { |
| if (radGridView1.CurrentRow.Tag != null) |
| { |
| if ((bool)(this.radGridView1.ActiveEditor.Value) && !tendencias.ContainsKey(Convert.ToInt32(radGridView1.CurrentRow.Tag))) |
| { |
| if (radGridView1.SelectedRows.Count > 0) |
| { |
| medidastendencia = Controller.CargarValoresMedidas |
| (long.Parse(radGridView1.CurrentRow.Cells["PuntoId"].Value.ToString()), |
| fechaIni, fechaFin, |
| long.Parse(radGridView1.SelectedRows[0].Cells["TipoEspectro"].Value.ToString()), |
| long.Parse(radGridView1.SelectedRows[0].Cells["Nbanda"].Value.ToString())); |
| if (medidastendencia.Count > 0) |
| { |
| ScatterPlot scatterPlot = new ScatterPlot(); |
| scatterPlot.XAxis = xAxis2; |
| scatterPlot.YAxis = yAxis2; |
| scatterPlot.Tag = Convert.ToInt32(radGridView1.CurrentRow.Tag); |
| scatterGraphTendencias.Plots.Add(scatterPlot); |
| int i = 0; |
| double[] fechas = new double[medidastendencia.Count]; |
| double[] values = new double[medidastendencia.Count]; |
| foreach (MedidaTendencia mt in medidastendencia) |
| { |
| fechas[i] = (Double)(DataConverter.Convert(mt.FechaMedida, typeof(Double))); |
| values[i] = mt.Valor; |
| i++; |
| } |
| scatterPlot.PlotXY(fechas, values); |
| xyCursor2.Plot = scatterPlot; |
| xyCursor2.SnapMode = CursorSnapMode.NearestPoint; |
| xyCursor2.MoveNext(); |
| xyCursor2.MovePrevious(); |
| xyCursor2.Visible = true; |
| if (!isTendenciaVisible) |
| { |
| isTendenciaVisible = true; |
| activeTend(); |
| } |
| tendencias.Add(Convert.ToInt32(radGridView1.CurrentRow.Tag), values); |
| } |
| else |
| { |
| MessageBox.Show(Properties.Resources.ERROR_MEDIDAS_TEND); |
| } |
| } |
| } |
| else |
| { |
| //Se ha puesto a false |
| if (tendencias.ContainsKey(Convert.ToInt32(radGridView1.CurrentRow.Tag))) |
| { |
| int i = 0; |
| foreach (ScatterPlot plot in scatterGraphTendencias.Plots) |
| { |
| if (plot.Tag.ToString() == radGridView1.CurrentRow.Tag.ToString()) |
| { |
| if (i > 1) |
| { |
| xyCursor2.Plot = scatterGraphTendencias.Plots[i - 1]; |
| xyCursor2.MoveNext(); |
| xyCursor2.MovePrevious(); |
| } |
| else |
| { |
| if (scatterGraphTendencias.Plots.Count > 2) |
| { |
| xyCursor2.Plot = scatterGraphTendencias.Plots[i + 1]; |
| xyCursor2.MoveNext(); |
| xyCursor2.MovePrevious(); |
| } |
| else |
| { |
| xyCursor2.Plot = scatterPlot2; |
| xyCursor2.Visible = false; |
| desactiveTend(); |
| } |
| } |
| scatterGraphTendencias.Plots.Remove(plot); |
| plot.Dispose(); |
| break; |
| } |
| i++; |
| } |
| tendencias.Remove(Convert.ToInt32(radGridView1.CurrentRow.Tag)); |
| } |
| } |
| } |
| } |
| } |
| catch (Exception ex) |
| { |
| string message = ex.Message; |
| } |
| } |
