我有一个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)如何显示我的酒店名称但不能编辑它们?
答案 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>
现在您可以使用您的代码了。