Oct 06, 2011, 4:17 PM
[CLOSED] My own component (SearchField)
I'm creating my own control, that I have called "SearchField".
This control was based on Ext.Net.CompositeField.
There is a error that I don't know how to solve.
Here is it:
'
English message:
Runtime Error in Microsoft JScript: "Can't get the property value 'alignTo': the object is null or not defined"
Steps to reproduce:
SearchField Code:
This control was based on Ext.Net.CompositeField.
There is a error that I don't know how to solve.
Here is it:
'
English message:
Runtime Error in Microsoft JScript: "Can't get the property value 'alignTo': the object is null or not defined"
Steps to reproduce:
SearchField Code:
using System;
using System.Data;
using System.Configuration;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using Ext.Net;
namespace BaseExample
{
public class SearchField : Ext.Net.CompositeField
{
#region locais
private TextField TextEGUID { get { return Items[0] as TextField; } }
private Ext.Net.Hidden hiddenGUID = null;
private Ext.Net.Button Button = null;
private TextField TextField = null;
#endregion
#region Construtores
public SearchField()
: base()
{
Initialize();
Width = 500;
}
void Initialize()
{
WidthCode = 130;
}
void RemoteValidation_Validation(object sender, RemoteValidationEventArgs e)
{
Ext.Net.X.AddScript("alert('remote validation');");
}
void Click_Event(object sender, Ext.Net.DirectEventArgs e)
{
}
#endregion
#region Eventos
#endregion
#region Overrides
public override void Clear()
{
base.Clear();
SetValue("", "", "");
}
public override void SetValue(object value)
{
base.SetValue(value);
SetValue("", value.ToString(), value.ToString());
}
public override void Focus()
{
Focus(false);
}
public override void Focus(bool selectText)
{
Focus(selectText, 100);
}
public override void Focus(bool selectText, int delay)
{
TextEGUID.Focus(selectText, delay);
}
protected override void OnInit(EventArgs e)
{
base.OnInit(e);
#region EGUID
TextField t = new TextField();
t.EnableKeyEvents = true;
t.IsRemoteValidation = true;
t.RemoteValidation.Validation += new RemoteValidationDirectEvent.RemoteValidationEventHandler(RemoteValidation_Validation);
t.RemoteValidation.ValidationEvent = "blur";
t.ID = ClientID + "_EGUID";
t.Width = WidthCode;
t.X = 0;
t.FieldLabel = "";
Items.Add(t);
#endregion
#region Button
Button = new Ext.Net.Button();
Button.DirectEvents.Click.Event += new Ext.Net.ComponentDirectEvent.DirectEventHandler(Click_Event);
Button.Icon = Icon.Find;
Button.X = TextEGUID.X + (int)TextEGUID.Width.Value + 5;
Items.Add(Button);
#endregion
#region Descrição
TextField = new TextField();
TextField.ID = ClientID + "_Description";
TextField.Disabled = true;
TextField.Width = new Unit(Width.Value - WidthCode.Value - 35);
if (XDescription > 0)
TextField.X = XDescription;
else
TextField.X = Button.X + 28;
Items.Add(TextField);
#endregion
#region GUID
hiddenGUID = new Hidden();
hiddenGUID.FieldLabel = "";
hiddenGUID.ID = ClientID + "_GUID";
Items.Add(hiddenGUID);
#endregion
//this.Items.Add(p);
}
public override ConfigItemCollection CustomConfig
{
get
{
ConfigItemCollection result = base.CustomConfig;
#region método clear
ConfigItem item = new ConfigItem("clear",
string.Format("#({0}.clear();{1}.clear();{2}.clear();)", TextEGUID.ClientID,
TextField.ClientID, hiddenGUID.ClientID));
result.Add(item);
#endregion
#region método setValue
item = new ConfigItem("setValue",
"function(g,e,d){" +
string.Format("{0}.setValue(e);{1}.setValue(d);{2}.setValue(g);",
TextEGUID.ClientID, TextField.ClientID, hiddenGUID.ClientID) + "}");
result.Add(item);
#endregion
return result;
}
}
#endregion
#region Propriedades
public string Description { get; set; }
public string GUID { get; set; }
public string EGUID { get; set; }
public Unit WidthCode { get; set; }
/// <summary>
/// posição esquerda do campo descrição
/// </summary>
public int XDescription { get; set; }
#endregion
#region Métodos Publicos
public void SetValue(string guid, string eguid, string description)
{
GUID = guid;
EGUID = eguid;
Description = description;
TextEGUID.SetValue(eguid.ToString());
TextEGUID.SetValue(eguid.ToString());
TextField.SetValue(description);
}
#endregion
}
}
Design code:<%@ Page Language="C#" AutoEventWireup="true" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<%@ Register Assembly="Ext.Net" Namespace="Ext.Net" TagPrefix="ext" %>
<%@ Register Assembly="BaseExample" Namespace="BaseExample" TagPrefix="example" %>
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<title>Untitled Page</title>
</head>
<body>
<ext:ResourceManager ID="ResourceManager1" runat="server">
</ext:ResourceManager>
<form id="form1" runat="server">
<example:SearchField runat="server" ID="mySf" Width="300" Visible="true" Hidden="false"
Height="25">
</example:SearchField>
</form>
</body>
</html>
[]'s
Last edited by Daniil; Oct 06, 2011 at 8:09 PM.
Reason: [CLOSED]