ComboBox in the OnItemsRequested error:数组不能为空。 参数名: bytes

1 posts, 0 answers
  1. ghd258 ghd258
    ghd258 ghd258 avatar
    60 posts
    Member since:
    Jan 2005

    Posted 12 Oct 2017 Link to this post

    protected override void OnInit(EventArgs e)
            {          
                rcbCustomer.HeaderTemplate = new HeaderTemplate();
                rcbCustomer.ItemTemplate = new HeaderItemTemplate();           
                base.OnInit(e);
            }
     
     public class HeaderTemplate : ITemplate
        {
     
            public void InstantiateIn(Control container)
            {
     
                HtmlTable table = new HtmlTable();
     
                HtmlTableRow row = new HtmlTableRow();
     
                HtmlTableCell cell = new HtmlTableCell();
     
                cell.InnerText = "客户编号";
                cell.Width = Unit.Pixel(100).ToString();
                row.Controls.Add(cell);
     
                HtmlTableCell cell1 = new HtmlTableCell();
     
                cell1.InnerText = "客户名称";
                cell1.Width = Unit.Pixel(160).ToString();
                row.Controls.Add(cell1);
     
                HtmlTableCell cell2 = new HtmlTableCell();
     
                cell2.InnerText = "主联系人";
                cell2.Width = Unit.Pixel(100).ToString();
                row.Controls.Add(cell2);
     
                HtmlTableCell cell3 = new HtmlTableCell();
     
                cell3.InnerText = "类型";
                cell3.Width = Unit.Pixel(100).ToString();
                row.Controls.Add(cell3);
     
                HtmlTableCell cell4 = new HtmlTableCell();
     
                cell4.InnerText = "商务人员";
                cell3.Width = Unit.Pixel(90).ToString();
                row.Controls.Add(cell4);
     
                table.Controls.Add(row);
     
                container.Controls.Add(table);
     
     
            }
     
        }
     
    public class HeaderTemplate : ITemplate
        {
     
            public void InstantiateIn(Control container)
            {
     
                HtmlTable table = new HtmlTable();
     
                HtmlTableRow row = new HtmlTableRow();
     
                HtmlTableCell cell = new HtmlTableCell();
     
                cell.InnerText = "客户编号";
                cell.Width = Unit.Pixel(100).ToString();
                row.Controls.Add(cell);
     
                HtmlTableCell cell1 = new HtmlTableCell();
     
                cell1.InnerText = "客户名称";
                cell1.Width = Unit.Pixel(160).ToString();
                row.Controls.Add(cell1);
     
                HtmlTableCell cell2 = new HtmlTableCell();
     
                cell2.InnerText = "主联系人";
                cell2.Width = Unit.Pixel(100).ToString();
                row.Controls.Add(cell2);
     
                HtmlTableCell cell3 = new HtmlTableCell();
     
                cell3.InnerText = "类型";
                cell3.Width = Unit.Pixel(100).ToString();
                row.Controls.Add(cell3);
     
                HtmlTableCell cell4 = new HtmlTableCell();
     
                cell4.InnerText = "商务人员";
                cell3.Width = Unit.Pixel(90).ToString();
                row.Controls.Add(cell4);
     
                table.Controls.Add(row);
     
                container.Controls.Add(table);
     
     
            }
     
        }
     
     
    <telerik:RadComboBox ID="rcbCustomer" runat="server" Width="100%" AllowCustomText="true"
                                Text="" OnClientItemsRequesting="ClientCustomerItemRequesting" HighlightTemplatedItems="true"
                                DropDownWidth="550px" ExpandAnimation-Duration="100" CollapseAnimation-Duration="100"
                                OnClientSelectedIndexChanged="OnClientSelectedIndexChangedCustomer" EnableLoadOnDemand="true"
                                AutoPostBack="true" OnItemsRequested="rcbCustomer_ItemsRequested" Height="200px">
                                <HeaderTemplate>
                                    <ul class="Item">
                                        <li class="col2">客户名称</li>
                                        <li class="col3">主联系人</li>
                                        <li class="col4">客户类型</li>
                                    </ul>
                                </HeaderTemplate>
                                <ItemTemplate>
                                    <ul class="Item">
                                        <li class="col2">
                                            <%# Healthway.Framework.Utilities.String.StringHelper.InternalHtmlEncode(DataBinder.Eval(Container, "Attributes[\"CusName\"]").ToString())%>
                                        </li>
                                        <li class="col3">
                                            <%# Healthway.Framework.Utilities.String.StringHelper.InternalHtmlEncode(DataBinder.Eval(Container, "Attributes[\"LinkmanName\"]").ToString())%>
                                        </li>
                                        <li class="col4">
                                            <%# Healthway.Framework.Utilities.String.StringHelper.InternalHtmlEncode(DataBinder.Eval(Container, "Attributes[\"CusTypeName\"]").ToString())%>
                                        </li>
                                    </ul>
                                </ItemTemplate>
                                <FooterTemplate>
                                    <div>
                                        <b>更多请输入助记码查询.</b>
                                    </div>
                                </FooterTemplate>
                            </telerik:RadComboBox>
     
        Customer cus = new Customer();
                    cus.CusName = "全部";
                    cus.CustomerID = -1;
                    cus.LinkmanName = string.Empty;
                    cus.CusCode = string.Empty;
                    cus.CusTypeName = string.Empty;
                    cus.SaleManName = string.Empty;
                    list.Insert(0, cus);
                    foreach (Customer customer in list)
                    {
                        RadComboBoxItem item = new RadComboBoxItem();
                        item.Value = customer.CustomerID.ToString();
                        if (isSupplier == 1)
                        {
                            item.Text = customer.CusName;
                        }
                        else
                        {
                            item.Text = customer.LinkmanName;
                        }
                        item.Attributes.Add("CusCode", customer.CusCode);
                        if (isSupplier == 1)
                        {
     
                            item.Attributes.Add("CusName", customer.CusName);
                        }
                        else
                        {
     
                            item.Attributes.Add("CusName", customer.LinkmanName);
                        }
                        item.Attributes.Add("LinkmanName", customer.LinkmanName);
                        item.Attributes.Add("CusTypeName", customer.CusTypeName);
                        item.Attributes.Add("LinkmanMobile", customer.LinkmanMobile);
                        if (customer.SaleManName == null)
                        {
                            item.Attributes.Add("SaleManName", "");
                        }
                        else
                        {
                            item.Attributes.Add("SaleManName", customer.SaleManName);
                        }
                        comboBox.Items.Add(item);
                    }
                    comboBox.DataBind();
Back to Top