gpt4 book ai didi

c# - RadGrid 中的 ComboBox

转载 作者:太空宇宙 更新时间:2023-11-03 16:17:36 25 4
gpt4 key购买 nike

在插入/更新我的网格时,我很难在我的 RadGrid 中添加一个 ComboBox。因此,当我的网格进入编辑模式时,我希望显示一个 ComboBox。

这是我的 aspx 页面:

<telerik:radgrid id="radManageMembers" runat="server" cssclass="GridView" width="96%"
autogeneratecolumns="true" onUpdateCommand="radManageMembers_UpdateCommand" Skin="WebBlue"
onNeedDataSource="radManageMembers_NeedDataSource" OnDeleteCommand="radManageMembers_DeleteCommand"
OnInsertCommand="radManageMembers_InsertCommand" OnItemCreated="radManageMembers_ItemCreated" OnItemCommand="radManageMembers_ItemCommand">
<MasterTableView EditMode="InPlace" AutoGenerateColumns="false"
TableLayout="Fixed" DataKeyNames="MemberID" CommandItemDisplay="TopAndBottom" Skin="WebBlue">
<Columns>

<telerik:GridBoundColumn DataField="MemberID" Display="false">
</telerik:GridBoundColumn>

<telerik:GridButtonColumn UniqueName="DeleteColumn" CommandName="Delete" ButtonType="PushButton" Text="Delete">
</telerik:GridButtonColumn>

<telerik:GridBoundColumn DataField="MemberName" UniqueName="MemberName" HeaderText="MemberName">
</telerik:GridBoundColumn>
<telerik:GridBoundColumn DataField="FirstName" UniqueName="FirstName" HeaderText="FirstName">
</telerik:GridBoundColumn>
<telerik:GridBoundColumn DataField="LastName" UniqueName="LastName" HeaderText="LastName" >
</telerik:GridBoundColumn>
<telerik:GridBoundColumn DataField="Title" UniqueName="Title" HeaderText="Title">
</telerik:GridBoundColumn>
<telerik:GridBoundColumn DataField="AdditionalNumber" UniqueName="AdditionalNumber" HeaderText="AdditionalNumber">
</telerik:GridBoundColumn>
<telerik:GridBoundColumn DataField="Telephone" UniqueName="Telephone" HeaderText="Telephone">
</telerik:GridBoundColumn>
<telerik:GridBoundColumn DataField="IDNumber" UniqueName="IDNumber" HeaderText="IDNumber">
</telerik:GridBoundColumn>
<telerik:GridBoundColumn DataField="BusinessName" UniqueName="BusinessName" HeaderText="BusinessName">
</telerik:GridBoundColumn>
<telerik:GridBoundColumn DataField="Email" UniqueName="Email" HeaderText="Email">
</telerik:GridBoundColumn>
<telerik:GridBoundColumn DataField="LanguageCode" UniqueName="LanguageCode" HeaderText="LanguageCode">
</telerik:GridBoundColumn>

<telerik:GridEditCommandColumn ButtonType="PushButton" UniqueName="EditCommandColumn">
<HeaderStyle Width="85px"></HeaderStyle>
</telerik:GridEditCommandColumn>

</Columns>
<EditFormSettings CaptionFormatString="Edit details for employee with ID {0}" CaptionDataField="EmployeeID">
<FormTableItemStyle Width="100%" Height="29px"></FormTableItemStyle>
<FormTableStyle GridLines="None" CellSpacing="0" CellPadding="2"></FormTableStyle>
<FormStyle Width="100%"></FormStyle>
<EditColumn ButtonType="ImageButton">
</EditColumn>
</EditFormSettings>
</MasterTableView>
<ClientSettings>
<ClientEvents OnRowDblClick="RowDblClick"></ClientEvents>
</ClientSettings>

我知道您必须使用 ItemCreated 事件,但我无法让它正常工作。

这是我在 ItemCreate 中的内容,但这段代码不起作用:

if (e.Item.OwnerTableView.IsItemInserted && e.Item is GridCommandItem)
{
GridCommandItem insertItem = (GridCommandItem)e.Item;
RadComboBox combo = (RadComboBox)insertItem.FindControl("Title");
}

我看过这里的例子 - http://demos.telerik.com/aspnet-ajax/grid/examples/dataediting/editmodes/defaultcs.aspx

但是这个 ComboBox 不会从数据库中填充不同的值,似乎有重复项,我发现 ComboBox 中没有意义。

我愿意看看是否有替代方法或解决此问题的正确方法。

编辑

ComboBox 的值来自数据库,所有值都是唯一的。

最佳答案

在您的代码中,您没有添加 Combobox。因此,请在 EditItemTemplate 中添加组合框,并尝试使用以下代码访问组合框

protected void grid1_ItemDataBound(object sender, Telerik.Web.UI.GridItemEventArgs e)
{
if (e.Item is GridEditableItem && e.Item.IsInEditMode)
{
GridEditableItem item = (GridEditableItem)e.Item;
RadComboBox combo = ((RadComboBox)item.FindControl("RadComboBoxValore"));
combo.DataSource = SqlDataSource2;
combo.DataValueField = "EmployeeID";
combo.DataTextField = "EmployeeID";
combo.DataBind();
}
}

或添加GridDropDownColumn

关于c# - RadGrid 中的 ComboBox,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15289675/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com