or
private
void
radGridView1_EditorRequired(
object
sender, EditorRequiredEventArgs e)
{
var varModel = radGridView1.CurrentRow.Tag
as
VariableModel;
if
(varModel.Variable !=
null
)
{
var variableType = varModel.Variable.VariableType;
if
(varModel.Variable.VariableSelectionValueCollection.Count > 0)
{
var selValCol = varModel.Variable.VariableSelectionValueCollection;
if
(selValCol !=
null
&& selValCol.Count > 0)
// if to be shown as a dropdown // todo: vsv fix
{
var editor =
new
RadComboBoxEditor();
var elem = editor.EditorElement
as
RadComboBoxEditorElement;
elem.DropDownWidth = radGridView1.Columns[STR_ValueCol].Width + radGridView1.Columns[STR_UnitsCol].Width;
elem.DropDownStyle = RadDropDownStyle.DropDownList;
elem.MaxDropDownItems = 10;
elem.DataSource = selValCol.Select(vs => vs.Description).ToList<
string
>();
editor.DropDownSizingMode = SizingMode.UpDownAndRightBottom;
//editor.ValueChanged += new EventHandler(editor_ValueChanged);
e.Editor = editor;
}
}
else
if
(variableType == VariableTypeEnum.Integer)
{
var editor =
new
GridSpinEditor();
var elem = editor.EditorElement
as
GridSpinEditorElement;
elem.MaxValue =
int
.MaxValue;
elem.MinValue =
int
.MinValue;
if
(varModel.Variable.Val !=
null
)
editor.Value = varModel.Variable.Val.ToInt32();
e.Editor = editor;
}
else
if
(variableType == VariableTypeEnum.Double)
// todo : capture keys to exclude text
{
e.EditorType =
typeof
(RadTextBoxEditor);
var editor =
new
RadTextBoxEditor();
var elem = editor.EditorElement
as
RadTextBoxEditorElement;
//elem.TextChanging += new TextChangingEventHandler(Editor_TextChanging);
//elem.TextChanged += new EventHandler(elem_TextChanged);
if
(varModel.Variable.Val !=
null
)
editor.Value = varModel.Variable.Val.ToDouble();
e.Editor = editor;
}
else
if
(variableType == VariableTypeEnum.Boolean)
{
var editor =
new
RadComboBoxEditor();
var elem = editor.EditorElement
as
RadComboBoxEditorElement;
elem.Items.AddRange(
new
[] {
new
RadComboBoxItem(
"True"
),
new
RadComboBoxItem(
"False"
) });
editor.Value = elem.Items.Where(ri => ri.Text.ToLower() == varModel.Variable.Val.Val.ToLower()).FirstOrDefault();
e.Editor = editor;
}
else
if
(variableType == VariableTypeEnum.String)
{
e.EditorType =
typeof
(RadTextBoxEditor);
var editor =
new
RadTextBoxEditor();
var elem = editor.EditorElement
as
RadTextBoxEditorElement;
//elem.TextChanged += new EventHandler(elem_TextChanged);
if
(varModel.Variable.Val !=
null
)
editor.Value = varModel.Variable.Val.ToString();
e.Editor = editor;
}
}
}
void gvMain_CellValueChanged(object sender, GridViewCellEventArgs e)
{
GridDataCellElement ce = (GridDataCellElement)sender;
ce.BackColor = Color.LightPink;
ce.BackColor2 = Color.White;
ce.NumberOfColors = 2;
ce.DrawFill = true;
ce.GradientStyle = Telerik.WinControls.GradientStyles.Linear;
_dataDirty = true;
btnSave.Visible = true;
}
this
.radDock1.DocumentManager.ActiveDocument = radDock1.DockWindows[1];
Dim mCellPos As Integer = rgvItemsAndProps.CurrentCell.ColumnIndex
rgvItemsAndProps.BeginEdit()
For Each gr As GridViewRowInfo In rgvItemsAndProps.Rows
Dim y As String = gr.Cells(2).Value
If gr.IsVisible = True Then
gr.Cells(mCellPos).Value = _ItemPropGridClipboard
End If
Next
rgvItemsAndProps.EndEdit()
End If
private
void
SetupRadGridviewRelation()
{
GridViewRelation selfRelation =
new
GridViewRelation(
this
.radGridView1.MasterTemplate,
this
.radGridView1.MasterTemplate);
selfRelation.ParentColumnNames.Add(
"IdCol"
);
selfRelation.ChildColumnNames.Add(
"ParentIdCol"
);
this
.radGridView1.Relations.Add(selfRelation);
}
public
void
LoadVariables
{
foreach
(var varModel
in
list)
{
var rowNum = radGridView1.Rows.Add(varModel.Id, varModel.ParentId, varModel.VarName, varModel.VarValue, varModel.VarUnits);
radGridView1.Rows[rowNum].Tag = varModel;
}
}