or
public class GridLookupColumn : GridTemplateColumn { private string _lookupDataMember; public string LookupDataMember { get { return _lookupDataMember; } set { _lookupDataMember = value; } } private string _lookupTextField; public string LookupTextField { get { return _lookupTextField; } set { _lookupTextField = value; } } private string _lookupValueField; public string LookupValueField { get { return _lookupValueField; } set { _lookupValueField = value; } } public class LookupActionTemplate : IBindableTemplate { public GridLookupColumn Column = null; public void InstantiateIn(Control container) { RadAutoCompleteBox lookup = new RadAutoCompleteBox(); lookup.ID ="LC" + this.Column.UniqueName; lookup.DataSource = Column.Owner.OwnerGrid.DataSource; lookup.DataMember = Column.LookupDataMember; lookup.DataTextField = Column.LookupTextField; lookup.DataValueField = Column.LookupValueField; lookup.EnableViewState = true; container.Controls.Add(lookup); lookup.DataBind(); lookup.DataBinding += new EventHandler(LookupDataBindingHandler); lookup.EntryAdded += new AutoCompleteEntryEventHandler(EntryAddedHandler); } private void EntryAddedHandler(object sender, EventArgs e) { RadAutoCompleteBox lookup = sender as RadAutoCompleteBox; if (lookup.Entries.Count > 1) { lookup.Entries.RemoveAt(0); ExtractValues(lookup.NamingContainer as GridDataItem); } } private void LookupDataBindingHandler(object sender, EventArgs e) { RadAutoCompleteBox lookup = sender as RadAutoCompleteBox; GridDataItem item = (GridDataItem)lookup.NamingContainer; string id = DataBinder.Eval(item.DataItem, this.Column.DataField).ToString(); string text = String.Empty; DataSet data = (DataSet)Column.Owner.DataSource; foreach (DataRow r in data.Tables[Column.LookupDataMember].Rows) { if (r[Column.LookupValueField].ToString() == id) { text = r[Column.LookupTextField].ToString(); } } AutoCompleteBoxEntry entry = new AutoCompleteBoxEntry(text, id); if(text != String.Empty) lookup.Entries.Add(entry); } public System.Collections.Specialized.IOrderedDictionary ExtractValues(Control container) { IOrderedDictionary values = new OrderedDictionary(); RadAutoCompleteBox lookup = container.FindControl("LC" + Column.UniqueName) as RadAutoCompleteBox; values.Add(Column.UniqueName, lookup.Entries[0].Value); return values; } } public class LookupTemplate : ITemplate { public GridLookupColumn Column = null; public void InstantiateIn(Control container) { Label l = new Label(); l.ID = Column.UniqueName; container.Controls.Add(l); l.DataBinding += new EventHandler(LookupDataBindingHandler); } private void LookupDataBindingHandler(object sender, EventArgs e) { Label l = sender as Label; GridDataItem item = (GridDataItem)l.NamingContainer; string id = DataBinder.Eval(item.DataItem, this.Column.DataField).ToString(); DataSet data = (DataSet) Column.Owner.DataSource; foreach (DataRow r in data.Tables[Column.LookupDataMember].Rows) { if (r[Column.LookupValueField].ToString() == id) { l.Text = r[Column.LookupTextField].ToString(); } } } } public GridLookupColumn() { LookupActionTemplate lookupActionTemplate = new LookupActionTemplate(); LookupTemplate lookupTemplate = new LookupTemplate(); lookupTemplate.Column = this; lookupActionTemplate.Column = this; this.EditItemTemplate = lookupActionTemplate; this.ItemTemplate = lookupTemplate; this.InsertItemTemplate = lookupActionTemplate; } }Hello, I have some problems with the RadNumericTextBox.
If is set the value
var tbox = document.getElementById(elementId);if (tbox) { tbox.value = value;}