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: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?
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: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.