数据绑定到隐藏的Aspxcombobox?

时间:2013-07-18 11:45:53

标签: c# asp.net gridview combobox devexpress

我有一个aspxGridView控件来列出一些记录。我使用组合框填充一些数据,这与aspxgridview的不同。

protected void ASPxGridView1_CellEditorInitialize(object sender, ASPxGridViewEditorEventArgs e)
{         
        if (e.Column.FieldName == "LnkHotelID")
        {
            ASPxComboBox cmb = e.Editor as ASPxComboBox;
            cmb.DataSource = DsHtel;
            cmb.ValueField = "HotelID";
            cmb.ValueType = typeof(Int32);
            cmb.TextField = "HotelName";
            cmb.DataBindItems();
        }            
}

我不想看到“LnkHotelID”所以我想隐藏它。但是当我隐藏这个专栏时,我无法使用上面的功能。另外,我想查看“HotelName”列,但不要更新它。

所以我有两个问题:

1)如何在运行时访问aspxcombobox? 2)如何显示我的酒店名称但不能编辑它们?

2 个答案:

答案 0 :(得分:0)

ASPxComboBox.ClientEnabled 属性设置为False:

ASPxComboBox cmb = e.Editor as ASPxComboBox;
cmb.ClientEnabled = false;

答案 1 :(得分:-1)

当您使用visible = false隐藏列时,它将不会在HTML中呈现,因此您无法使用上述功能。因此,使用display:none

代替可见的false use style属性
<style>
   .hiddencolumn {display:none;}
</style>

<asp:GridView ID="GridViewHotel" runat="server" AutoGenerateColumns="false">
   <Columns>
    <asp:BoundField DataField="LnkHotelID" ItemStyle-CssClass="hidden"
        HeaderStyle-CssClass="hiddencolumn" />

</Columns>

</asp:GridView>

现在您可以使用您的代码了。