Может ли кто-нибудь помочь мне, как заполнить раскрывающийся список в элементе управления группировкой сетки. Я новичок в элементах управления синхронизацией. Любая помощь приветствуется.
Как заполнить раскрывающийся список в элементе управления группировкой сетки syncfusion с помощью asp.net с С#
Ответы (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"));
}
}
}
}
Пожалуйста, дайте нам знать, если вам нужны какие-либо другие вопросы или проблемы
Первое условие if используется для заполнения выпадающего списка только для строк записи. Это условие не выполнялось во время первоначальной группировки, поскольку все записи находятся в свернутом состоянии, а строка заголовка отображается только в сетке. А также, если в сетке нет записи, она не будет выполняться.
Если мы удалили первое условие if, код будет выполняться для заголовков столбцов и строк заголовков. Строка заголовка не имеет ColumnDescriptor, поэтому это является причиной проблемы «Ссылка на объект не установлена на экземпляр объекта».