Asp.net DevExpress GridView中的CheckComboBoxColumn

Asp.net DevExpress GridView中的CheckComboBoxColumn,asp.net,devexpress,aspxgridview,Asp.net,Devexpress,Aspxgridview,我想得到CheckedList下拉控件,它是一个基本的下拉列表,每个列表项前面都有复选框 我在他们的官方网站上找到了,但我希望在ASPxGridView专栏中也能看到同样的效果。我不太明白你的问题。是否要在ASPxGridview列中使用CheckComboBoxColumn?如果是这样,你可以这样使用它 <dx:ASPxGridView ID="grid" ClientInstanceName="grid" runat="server" .....................

我想得到CheckedList下拉控件,它是一个基本的下拉列表,每个列表项前面都有复选框


我在他们的官方网站上找到了,但我希望在ASPxGridView专栏中也能看到同样的效果。

我不太明白你的问题。是否要在
ASPxGridview
列中使用
CheckComboBoxColumn
?如果是这样,你可以这样使用它

    <dx:ASPxGridView ID="grid" ClientInstanceName="grid" runat="server"
.........................
<Columns>
.........................
<EditItemTemplate> // If your Gridview has Edit Property. 
.........................
<dx:ASPxListBox ...
.CS

using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using DevExpress.Web.ASPxEditors;
using DevExpress.Web.ASPxGridView;

public partial class _Default : System.Web.UI.Page 
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }
    protected void ddE_Init(object sender, EventArgs e)
    {
        ASPxDropDownEdit dropdownedit = sender as ASPxDropDownEdit;
        ASPxGridView grid = dropdownedit.NamingContainer.NamingContainer as ASPxGridView;

        string key = grid.UniqueID;
        string visibleIndex = (dropdownedit.NamingContainer as GridViewDataItemTemplateContainer).VisibleIndex +
key;
        dropdownedit.ClientInstanceName = "dde" + visibleIndex;

        dropdownedit.ClientSideEvents.DropDown =
            String.Format("function(s,e) {{ SynchronizeGridValues(s, e, grid{0});}}", visibleIndex);

        dropdownedit.ClientSideEvents.TextChanged =
            String.Format("function(s,e) {{SynchronizeGridValues(s, e, grid{0});}}", visibleIndex);   
    }
    protected void btn_Init(object sender, EventArgs e)
    {
        ASPxButton button = sender as ASPxButton;
        ASPxGridView grid = button.NamingContainer.NamingContainer.NamingContainer.NamingContainer.NamingContainer
as ASPxGridView;

        string key = grid.UniqueID;
        string visibleIndex = (button.NamingContainer.NamingContainer.NamingContainer.NamingContainer as
GridViewDataItemTemplateContainer).VisibleIndex + key;

        button.ClientSideEvents.Click = String.Format("function(s, e){{dde{0}.HideDropDown();}}", visibleIndex);
    }
    protected void grid_Init(object sender, EventArgs e)
    {
        ASPxGridView curGrid = sender as ASPxGridView;
        ASPxGridView grid = curGrid.NamingContainer.NamingContainer.NamingContainer.NamingContainer.NamingContainer
as ASPxGridView;

        string key = grid.UniqueID;
        string visibleIndex = (curGrid.NamingContainer.NamingContainer.NamingContainer.NamingContainer as
GridViewDataItemTemplateContainer).VisibleIndex + key;
        curGrid.ClientInstanceName = "grid" + visibleIndex;

        curGrid.ClientSideEvents.SelectionChanged =
            String.Format("function(s,e) {{ OnGridSelectionChanged(s, e, dde{0});}}", visibleIndex);
    }
}

是的,我想在ASPxGridView列中有一个CheckComboBoxColumn,我在添加我发布链接的演示中的标记代码时有些困惑,请您指导我如何将该代码与GridView标记代码合并并发布合并结果?谢谢。我更新了我的答案。如果这不是你想要的,请告诉我。好的,我会检查一下,看看,但真的吗?3嵌套网格视图?
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using DevExpress.Web.ASPxEditors;
using DevExpress.Web.ASPxGridView;

public partial class _Default : System.Web.UI.Page 
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }
    protected void ddE_Init(object sender, EventArgs e)
    {
        ASPxDropDownEdit dropdownedit = sender as ASPxDropDownEdit;
        ASPxGridView grid = dropdownedit.NamingContainer.NamingContainer as ASPxGridView;

        string key = grid.UniqueID;
        string visibleIndex = (dropdownedit.NamingContainer as GridViewDataItemTemplateContainer).VisibleIndex +
key;
        dropdownedit.ClientInstanceName = "dde" + visibleIndex;

        dropdownedit.ClientSideEvents.DropDown =
            String.Format("function(s,e) {{ SynchronizeGridValues(s, e, grid{0});}}", visibleIndex);

        dropdownedit.ClientSideEvents.TextChanged =
            String.Format("function(s,e) {{SynchronizeGridValues(s, e, grid{0});}}", visibleIndex);   
    }
    protected void btn_Init(object sender, EventArgs e)
    {
        ASPxButton button = sender as ASPxButton;
        ASPxGridView grid = button.NamingContainer.NamingContainer.NamingContainer.NamingContainer.NamingContainer
as ASPxGridView;

        string key = grid.UniqueID;
        string visibleIndex = (button.NamingContainer.NamingContainer.NamingContainer.NamingContainer as
GridViewDataItemTemplateContainer).VisibleIndex + key;

        button.ClientSideEvents.Click = String.Format("function(s, e){{dde{0}.HideDropDown();}}", visibleIndex);
    }
    protected void grid_Init(object sender, EventArgs e)
    {
        ASPxGridView curGrid = sender as ASPxGridView;
        ASPxGridView grid = curGrid.NamingContainer.NamingContainer.NamingContainer.NamingContainer.NamingContainer
as ASPxGridView;

        string key = grid.UniqueID;
        string visibleIndex = (curGrid.NamingContainer.NamingContainer.NamingContainer.NamingContainer as
GridViewDataItemTemplateContainer).VisibleIndex + key;
        curGrid.ClientInstanceName = "grid" + visibleIndex;

        curGrid.ClientSideEvents.SelectionChanged =
            String.Format("function(s,e) {{ OnGridSelectionChanged(s, e, dde{0});}}", visibleIndex);
    }
}