0

いくつかのレコードを一覧表示するための 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」列を表示したいのですが、更新したくありません。

だから私は2つの質問があります:

1) 実行時に aspxcombobox にアクセスするにはどうすればよいですか? 2) HotelName を表示するが編集はできないようにするにはどうすればよいですか?

4

2 に答える 2

0

ASPxComboBox.ClientEnabledプロパティを False に設定します。

ASPxComboBox cmb = e.Editor as ASPxComboBox;
cmb.ClientEnabled = false;
于 2013-07-18T19:48:27.207 に答える
-1

visible=false で列を非表示にすると、HTML でそれがレンダリングされないため、上記の機能を使用できません。したがって、visible false の代わりに style プロパティを display: none とともに使用します。

<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>

これで、コードを使用できます。

于 2013-07-18T13:33:16.660 に答える