如何使用带有c#的asp.net填充syncfusion网格分组控件中的下拉列表

时间:2014-04-11 06:11:47

标签: c#-4.0 syncfusion

任何人都可以帮我解决如何填写网格分组控件中的下拉列表。我是syncfusion控件的新手。感谢任何一个帮助

2 个答案:

答案 0 :(得分:1)

您可以使用Rowdatabound填充Syncfusion GridGroupingControl中的下拉列表。

在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"));
                    }
                }
            }
        }

如果您需要任何其他问题或疑虑,请告诉我们

答案 1 :(得分:0)

第一个if条件仅用于填充记录行的下拉列表。此条件在初始分组时未执行,因为所有记录都是折叠状态,而标题行仅显示在网格中。而且如果网格中没有记录,它也不会执行。

如果我们删除了第一个if条件,则将对Column Header和标题行执行代码。标题行没有ColumnDescriptor,因此这是“对象引用未设置为对象实例”问题的原因。