{
PropertyDescriptor boundProperty;
- [WebCategoryAttribute ("Behavior")]\r
- [DefaultValueAttribute ("")]\r
+ [DefaultValueAttribute ("")]
+ [WebSysDescription ("Raised when a Button Command is executed.")]
+ [WebCategoryAttribute ("Behavior")]
public virtual string CommandName {
- get {
- object ob = ViewState ["CommandName"];
- if (ob != null) return (string) ob;
- return "";
- }
+ get { return ViewState.GetString ("CommandName", ""); }
set {
ViewState ["CommandName"] = value;
OnFieldChanged ();
}
}
- [WebCategoryAttribute ("Data")]\r
- [DefaultValueAttribute ("")]\r
+ [DefaultValueAttribute ("")]
+ [TypeConverterAttribute ("System.Web.UI.Design.DataSourceViewSchemaConverter, " + Consts.AssemblySystem_Design)]
+ [WebSysDescription ("")]
+ [WebCategoryAttribute ("Data")]
public virtual string DataTextField {
- get {
- object ob = ViewState ["DataTextField"];
- if (ob != null) return (string) ob;
- return "";
- }
+ get { return ViewState.GetString ("DataTextField", ""); }
set {
ViewState ["DataTextField"] = value;
OnFieldChanged ();
}
}
- [WebCategoryAttribute ("Data")]\r
- [DefaultValueAttribute ("")]\r
+ [DefaultValueAttribute ("")]\r
+ [WebSysDescription ("")]
+ [WebCategoryAttribute ("Data")]
public virtual string DataTextFormatString {
- get {
- object ob = ViewState ["DataTextFormatString"];
- if (ob != null) return (string) ob;
- return "";
- }
+ get { return ViewState.GetString ("DataTextFormatString", ""); }
set {
ViewState ["DataTextFormatString"] = value;
OnFieldChanged ();
}
}
- [EditorAttribute ("System.Web.UI.Design.ImageUrlEditor, System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", "System.Drawing.Design.UITypeEditor, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")]\r
- [WebCategoryAttribute ("Appearance")]\r
- [DefaultValueAttribute ("")]\r
- [UrlPropertyAttribute]\r
+ [EditorAttribute ("System.Web.UI.Design.ImageUrlEditor, " + Consts.AssemblySystem_Design, "System.Drawing.Design.UITypeEditor, " + Consts.AssemblySystem_Drawing)]
+ [WebSysDescription ("")]
+ [WebCategoryAttribute ("Appearance")]
+ [DefaultValueAttribute ("")]\r
+ [UrlPropertyAttribute]\r
public virtual string ImageUrl {
- get {
- object ob = ViewState ["ImageUrl"];
- if (ob != null) return (string) ob;
- return "";
- }
+ get { return ViewState.GetString ("ImageUrl", ""); }
set {
ViewState ["ImageUrl"] = value;
OnFieldChanged ();
}
}
- [LocalizableAttribute (true)]\r
- [WebCategoryAttribute ("Appearance")]\r
- [DefaultValueAttribute ("")]\r
+ [LocalizableAttribute (true)]
+ [DefaultValueAttribute ("")]
+ [WebSysDescription ("")]
+ [WebCategoryAttribute ("Appearance")]
public virtual string Text {
- get {
- object ob = ViewState ["Text"];
- if (ob != null) return (string) ob;
- return "";
- }
+ get { return ViewState.GetString ("Text", ""); }
set {
ViewState ["Text"] = value;
OnFieldChanged ();
btn.CommandArgument = index;
if (DataTextField != "") {
- cell.DataBinding += new EventHandler (OnDataBindField);
+ if ((rowState & DataControlRowState.Insert) == 0)
+ cell.DataBinding += new EventHandler (OnDataBindField);
}
else {
btn.Text = Text;
base.InitializeCell (cell, cellType, rowState, rowIndex);
}
- protected virtual void OnDataBindField (object sender, EventArgs e)
+ void OnDataBindField (object sender, EventArgs e)
{
DataControlFieldCell cell = (DataControlFieldCell) sender;
DataControlButton btn = (DataControlButton) cell.Controls [0];
{
IDataItemContainer dic = controlContainer as IDataItemContainer;
if (boundProperty == null) {
- ICustomTypeDescriptor desc = dic.DataItem as ICustomTypeDescriptor;
- if (desc != null) {
- boundProperty = desc.GetProperties () [DataTextField];
- if (boundProperty != null)
- return boundProperty.GetValue (dic.DataItem);
- } else {
- PropertyInfo pi = dic.DataItem.GetType ().GetProperty (DataTextField);
- if (pi != null)
- return pi.GetValue (dic.DataItem, null);
- }
- throw new InvalidOperationException ("Property '" + DataTextField + "' not found in data bound item");
+ boundProperty = TypeDescriptor.GetProperties (dic.DataItem) [DataTextField];
+ if (boundProperty == null)
+ new InvalidOperationException ("Property '" + DataTextField + "' not found in object of type " + dic.DataItem.GetType());
}
return boundProperty.GetValue (dic.DataItem);
}
+
+ protected override DataControlField CreateField ()
+ {
+ return new ButtonField ();
+ }
+
+ protected override void CopyProperties (DataControlField newField)
+ {
+ base.CopyProperties (newField);
+ ButtonField field = (ButtonField) newField;
+ field.CommandName = CommandName;
+ field.DataTextField = DataTextField;
+ field.DataTextFormatString = DataTextFormatString;
+ field.ImageUrl = ImageUrl;
+ field.Text = Text;
+ }
+
+ [MonoTODO]
+ public override void ValidateSupportsCallback ()
+ {
+ throw new NotImplementedException ();
+ }
}
}
#endif