【问题标题】:DevExpress' ASPxComboboxDevExpress 的 ASPxCombobox
【发布时间】:2013-12-16 14:01:08
【问题描述】:

如何检索连接到 SQL 数据源的 DevExpress 的 ASPxCombobox 上显示的第一个值?页面首次加载后,如果我使用 selectedItem 检索显示在 ASPxCombo 框上的第一个值而不单击组合框,我将得到 selectedItem 的“null”。当我单击并从组合框中选择一个值时,我可以使用 selectedItem 来获取该值。

【问题讨论】:

  • 在页面加载时,您是尝试从客户端还是服务器端选择 ASPxCombobox 值?
  • 感谢您的回复,JAKEtheJAB。我试图从服务器端选择 ASPxCombobox 值。一个例子是,combobox在gridview的editItemTemplate中;从 gridview 的数据源中检索到的特定行的数据,并与整个列表的另一个 sqldatasource 连接。

标签: devexpress


【解决方案1】:

要访问 ASPxComboBox 下拉窗口中的元素,请使用它的 Items 集合:

//retrieve value of the first element in dropdown window of ASPxComboBox 

var firstItem = comboBox.Items[0].Value

【讨论】:

    【解决方案2】:

    Combobox selecteditem 在页面加载时不可用。此时数据未绑定控制,而是使用 DataBound 事件。

    Webform1.aspx

    <dx:ASPxComboBox ID="ASPxComboBox1" runat="server" DataSourceID="SqlDataSource2" TextField="CategoryName" ValueField="CategoryID">
    </dx:ASPxComboBox>
    
    <asp:SqlDataSource ID="SqlDataSource2" runat="server" 
            ConnectionString="<%$ ConnectionStrings:NWindConnectionString %>" 
            SelectCommand="SELECT * FROM [Categories]">
    </asp:SqlDataSource>
    

    Webform1.aspx.cs

    void ASPxComboBox1_DataBound(object sender, EventArgs e)
    {
       ASPxComboBox1.SelectedIndex = 0;
       object selectedItem = ASPxComboBox1.SelectedItem;
       string selectedValue = ASPxComboBox1.SelectedItem.Value.ToString();
    }
    

    【讨论】:

      【解决方案3】:

      在您的 Page_Load 中写入:

      if (!IsPostBack) 
      {
          cmb.DataBind();
          cmb.SelectedIndex = 0;
      }
      

      【讨论】:

        【解决方案4】:

        如果您想获得组合框中的第一项,请使用:

        ASPxComboBox1.Items[0]
        

        如果您想获取选定的值,请使用:

        ASPxComboBox1.Value
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2017-06-15
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多