or
plus,I can get DataValueField by sender.get_value(), and how to get the value in a whole field.Codes Template:
publicclassReceivingSheetDropDownItemTemplate : ITemplate{Boolean IsCompany {get;set; }Boolean IsName{get;set;}Boolean IsPhone{get;set;}Boolean IsMobile{get;set;}Boolean IsAddress{get;set;}publicReceivingSheetDropDownItemTemplate(Boolean isCompany =true, Boolean isName =true, Boolean isPhone =true, Boolean isMobile =true, Boolean isAddress =true){IsCompany =isCompany;IsName =isName;IsPhone = isPhone;IsMobile = isMobile;IsAddress = isAddress;}publicvoidInstantiateIn(Control container){if(IsCompany || IsName || IsPhone || IsMobile || IsAddress){HtmlTable table =newHtmlTable();HtmlTableRow titleRow =newHtmlTableRow();HtmlTableRow dataRow =newHtmlTableRow();titleRow.Attributes.Add("class","title");table.Attributes.Add("class","DropTable");if(IsCompany){AddBindItem(container, titleRow,"CompanyName", dataRow,"CompanyName");}if(IsName){AddBindItem(container, titleRow,"Name", dataRow,"Name");}if(IsPhone){AddBindItem(container, titleRow,"Phone", dataRow,"Phone");}if(IsMobile){AddBindItem(container, titleRow,"Mobile", dataRow,"Mobile");}if(IsAddress){AddBindItem(container, titleRow,"Address", dataRow,"Address");}table.Controls.Add(titleRow);table.Controls.Add(dataRow);container.Controls.Add(table);}}privatevoidAddBindItem(Control container, HtmlTableRow titleRow, String strTitle, HtmlTableRow dataRow, String strContactName){HtmlTableCell cellTitle =newHtmlTableCell();cellTitle.InnerHtml = strTitle;titleRow.Cells.Add(cellTitle);HtmlTableCell cellData =newHtmlTableCell();Label lab =newLabel();lab.Text = (string)DataBinder.Eval((containerasTelerik.Web.UI.AutoCompleteBox.DropDownItem).DataItem, strContactName);cellData.Controls.Add(lab);dataRow.Controls.Add(cellData);}publicvoidRadAutoCompleteBox_DropDownTemplateNeeded(objectsender, AutoCompleteDropDownItemEventArgs e){e.Item.Template =newReceivingSheetDropDownItemTemplate();}
page logic:
protectedvoidPage_Load(objectsender, EventArgs e){BindAutoCompleteBox();}privatevoidBindAutoCompleteBox(){rAutoReceiveCompany.DropDownTemplateNeeded +=newReceivingSheetDropDownItemTemplate().RadAutoCompleteBox_DropDownTemplateNeeded;rAutoReceiveCompany.DataSource =newBLL.BaseInfo.ReceiveCompany().GetIsReceiveCompany(true);rAutoReceiveCompany.DataTextField ="CompanyName";rAutoReceiveCompany.DataValueField ="CompanyName";}
UI :<tk:RadAutoCompleteBoxID="rAutoDeliverCompany"runat="server"Filter="StartsWith"TextSettings-SelectionMode="Single"AllowCustomEntry="true"InputType="Text"></tk:RadAutoCompleteBox>
<telerik:RadComboBox ID="RadComboBox1" runat="server" EmptyMessage="Select Countries" AllowCustomText="true" MarkFirstMatch="true" HighlightTemplatedItems="true" Width="150px" OnClientDropDownClosed="onDropDownClosing"> <ItemTemplate> <div onclick="StopPropagation(event)" class="combo-item-template"> <asp:CheckBox runat="server" ID="chk1" Text='<%# Eval("Country") %>' onclick="onToCheckBoxClick(this,'')"/> </div> </ItemTemplate> </telerik:RadComboBox>function onToCheckBoxClick(chk, temp) { var show = document.getElementById(temp); var combo = $find("<%= RadComboBox1.ClientID %>"); cancelDropDownClosing = true; var text = ""; var values = ""; var items = combo.get_items(); for (var i = 0; i < items.get_count(); i++) { var item = items.getItem(i); var chk1 = $get(combo.get_id() + "_i" + i + "_chk1"); if (chk1.checked) { text += item.get_text() + ";"; values += item.get_value() + ";"; } } text = removeLastComma(text); values = removeLastComma(values); } var cancelDropDownClosing = false; function StopPropagation(e) { e.cancelBubble = true; if (e.stopPropagation) { e.stopPropagation(); } } function onDropDownClosing() { cancelDropDownClosing = false; } function removeLastComma(str) { return str.replace(/;$/, ""); }<telerik:RadComboBox ID="Regione" Runat="server" CollapseDelay="100"EnableLoadOnDemand="True" HighlightTemplatedItems="True" IsCaseSensitive="True"LoadingMessage="Loading..." DropDownWidth="160px" Filter="StartsWith" Width="160px"MaxHeight="175px" ShowMoreResultsBox="True" Height="175px" OnClientItemsRequesting="OnClientItemsRequesting"AutoPostBack="True" OnSelectedIndexChanged="Regione_SelectedIndexChanged" OnClientItemsRequested="OnClientItemsRequested" EmptyMessage="Select region" Skin="Sunset"></telerik:RadComboBox>
| void RadGrid1_UpdateCommand(object source, GridCommandEventArgs e) |
| { |
| GridEditFormItem Data = (GridEditFormItem)e.Item; |
| Hashtable ht = new Hashtable(); |
| Data.ExtractValues(ht); |
| } |