As I have stated before, I am working on making an property grid that is editable. I am using the PROPERTYGRID CS as the foundation for my control. I am struggleing because the "Embeddable Editors Overview" documentation seems to leave a lot of holes. My current issue is how to replace/change the editor in once particular cell to the CheckEditor.
Attached is a modified version of the PROPERTYGRID CS project. I changed out the object being displayed in favor of a simple data class with a lot of strings and one boolean. I added a conditional check to see if the value of the property was a boolean, if true the cell's editor is set to a new CheckEditor:
if (propertyValue is System.Boolean) node.Cells[colValue].Editor = new CheckEditor();
The CheckEditor does not seem to be editable event though all the other string values are editable. What needs to happen to make this editor interact correctly?
This is only a step in understanding how I can implement a custom editor for a property, along the lines of Microsoft's UITypeEditor. We discussed this a bit in this thread, but I think it was a bit too early in my knowledge of the TreeControl. I don't understand how to connect the UltraTextEditor/EditorWithText to display my custom dialog. I am assuming/hoping that this will continue to be done via Attribute-oriented programming.
Sam
scarleton said:Ok, there is a bug, is the bug the CheckEditor, the UltraWinTree, or somewhere else?
scarleton said: I don't understand how to connect the UltraTextEditor/EditorWithText to display my custom dialog
UltraTextEditor textEditor = new UltraTextEditor();EditorButton button = new EditorButton();button.Text = "...";textEditor.ButtonsRight.Add( button );textEditor.EditorButtonClick += new EditorButtonEventHandler(textEditor_EditorButtonClick);
colValue.EditorControl = textEditor;
void textEditor_EditorButtonClick(object sender, EditorButtonEventArgs e){ UltraTreeNodeCellUIElement cellElement = e.Context as UltraTreeNodeCellUIElement; UltraTreeNodeColumn column = cellElement.Column; UltraTreeNode node = cellElement.Node;
//TODO: Show dialog here}
scarleton said:I am assuming/hoping that this will continue to be done via Attribute-oriented programming
scarleton said:What I am finding very frustrated is that what should only take me a day to do is turning into a two week process because often only a very small aspect of my question is answered so I have to come back and ask again and again.
Brian,
You are killing me here, man :) You answered only about 10% of my post:
Ok, there is a bug, is the bug the CheckEditor, the UltraWinTree, or somewhere else?
Generally speaking is my approach correct in trying to implement custom editors per cell, or is there a more ideal way of doing it?
What about the second part of my question:
"This is only a step in understanding how I can implement a custom editor for a property, along the lines of Microsoft's UITypeEditor. We discussed this a bit in this thread, but I think it was a bit too early in my knowledge of the TreeControl. I don't understand how to connect the UltraTextEditor/EditorWithText to display my custom dialog. I am assuming/hoping that this will continue to be done via Attribute-oriented programming."
------------------------------------------------
I just had a though, are the rules of this forum that you are only aloud to answer one question per thread? Maybe I need to turn this into different posts to get all the questions answered. What I am finding very frustrated is that what should only take me a day to do is turning into a two week process because often only a very small aspect of my question is answered so I have to come back and ask again and again.
If I am doing something wrong that I can change to make this all go smoother, please let me know. There is NOTHING you could say that would insult me or bother me, I simply want to figure out how to make this whole process a bit smoother. I was hoping that providing code sample would help, but I guess not.
scarleton said:The CheckEditor does not seem to be editable event though all the other string values are editable. What needs to happen to make this editor interact correctly?