Как заполнить раскрывающийся список в элементе управления группировкой сетки syncfusion с помощью asp.net с С#

Может ли кто-нибудь помочь мне, как заполнить раскрывающийся список в элементе управления группировкой сетки. Я новичок в элементах управления синхронизацией. Любая помощь приветствуется.


person user2897388    schedule 11.04.2014    source источник


Ответы (2)


Вы можете заполнить раскрывающийся список в Syncfusion GridGroupingControl с помощью Rowdatabound.

Добавьте раскрывающийся список в файл ASPX:

[ASPX]

<Columns>
………
<syncfusion:GridColumnDescriptor MappingName="Country" HeaderText="Country">
                        <ItemTemplate>
                            <asp:DropDownList ID="ddlcountry" runat="server" Width="100px"/>
                        </ItemTemplate>
</syncfusion:GridColumnDescriptor>
………
</columns>

Использование Rowdatabound

[CS]

protected void GridGroupingControl1_RowDataBound(object sender, Syncfusion.Web.UI.WebControls.Grid.Grouping.RowDataBoundEventArgs e)
        {
            if (e.Element.Kind == DisplayElementKind.Record && e.Element.Kind != DisplayElementKind.AddNewRecord)
            {
                for (int i = 0; i < e.Row.Cells.Count; i++)
                {
                    if (((Syncfusion.Web.UI.WebControls.Grid.Grouping.GridCell)(e.Row.Cells[i])).ColumnDescriptor.Name == "Country")
                    {
                        myConnection = new SqlCeConnection(ConnectionString);
                        myConnection.Open();
                        DropDownList ddl = (DropDownList)e.Row.Cells[i].FindControl("ddlcountry");                        
                        SqlCeCommand cmd = new SqlCeCommand("SELECT Distinct Country FROM Employees", myConnection);                        
                        SqlCeDataAdapter da = new SqlCeDataAdapter(cmd);
                        DataSet ds = new DataSet();                        
                        da.Fill(ds);                        
                        myConnection.Close();
                        ddl.DataSource = ds;
                        ddl.DataTextField = "Country";
                        ddl.DataValueField = "Country";
                        ddl.DataBind();
                        ddl.Items.Insert(0, new ListItem("--Select--", "0"));
                    }
                }
            }
        }

Пожалуйста, дайте нам знать, если вам нужны какие-либо другие вопросы или проблемы

person Abdul Matin    schedule 11.04.2014
comment
Тот же код, который я использую, но он не входит в первое условие if. Я прокомментировал это, если условие и повторил попытку в следующем, если условие показывает, что ссылка на объект не установлена ​​​​на экземпляр объекта - person user2897388; 12.04.2014

Первое условие if используется для заполнения выпадающего списка только для строк записи. Это условие не выполнялось во время первоначальной группировки, поскольку все записи находятся в свернутом состоянии, а строка заголовка отображается только в сетке. А также, если в сетке нет записи, она не будет выполняться.

Если мы удалили первое условие if, код будет выполняться для заголовков столбцов и строк заголовков. Строка заголовка не имеет ColumnDescriptor, поэтому это является причиной проблемы «Ссылка на объект не установлена ​​​​на экземпляр объекта».

person user3705893    schedule 10.06.2014