好的......我非常生疏,所以请善待;)
我正在使用网格构建Web表单应用程序。我正确地填充了我的数据网格(考虑到这是一个粗略的草稿),现在我正在尝试添加编辑功能。我创建了一个组合框,当我选择"编辑"时,它会正确显示。这就是我已经设法通过Telerik的教程。我想用组合框中的选定项更新行的状态字段。我不知道接下来要做什么......令人遗憾的是我在很久以前就做过这件事:(
我的代码如下......我将非常感谢任何朝着正确方向的推动。
<telerik:RadGrid ID="RadGrid1" runat="server" AutoGenerateColumns="False" AllowAutomaticUpdates="True"
CellSpacing="0" GridLines="None" AllowPaging="True">
<MasterTableView>
<RowIndicatorColumn Visible="True" FilterControlAltText="Filter RowIndicator column">
<HeaderStyle Width="20px"></HeaderStyle>
</RowIndicatorColumn>
<ExpandCollapseColumn Visible="True" FilterControlAltText="Filter ExpandColumn column">
<HeaderStyle Width="20px"></HeaderStyle>
</ExpandCollapseColumn>
<Columns>
<telerik:GridBoundColumn FilterControlAltText="Filter column column"
UniqueName="column" DataType="System.String" DataField="Make">
</telerik:GridBoundColumn>
<telerik:GridBoundColumn FilterControlAltText="Filter column1 column"
UniqueName="column1" DataType="System.String" DataField="Model">
</telerik:GridBoundColumn>
<telerik:GridBoundColumn FilterControlAltText="Filter column2 column"
UniqueName="column2" DataType="System.String" DataField="Year">
</telerik:GridBoundColumn>
<telerik:GridBoundColumn FilterControlAltText="Filter column2 column"
UniqueName="column3" DataType="System.String" DataField="Status" >
</telerik:GridBoundColumn>
<telerik:GridTemplateColumn HeaderText="Category" ItemStyle-Width="240px">
<EditItemTemplate>
<telerik:RadComboBox RenderMode="Lightweight" runat="server" ID="RadComboBox2" DataTextField="Status"
DataSourceID="LinqDataSource1" DataValueField="ID" >
</telerik:RadComboBox>
</EditItemTemplate>
<ItemStyle Width="240px"></ItemStyle>
</telerik:GridTemplateColumn>
<telerik:GridEditCommandColumn FooterText="EditCommand footer" UniqueName="EditCommandColumn"
HeaderText="Edit" HeaderStyle-Width="100px" UpdateText="Update">
<HeaderStyle Width="100px"></HeaderStyle>
</telerik:GridEditCommandColumn>
</Columns>
<EditFormSettings>
<EditColumn FilterControlAltText="Filter EditCommandColumn column"></EditColumn>
</EditFormSettings>
</MasterTableView>
<FilterMenu EnableImageSprites="False"></FilterMenu>
</telerik:RadGrid>
提前感谢您提供的任何帮助!
答案 0 :(得分:0)
如果您希望立即更新,可以使用ComboBox的SelectedIndexChanged
事件。只需确保将属性AutoPostBack="true"
添加到ComboBox
protected void RadComboBox2_SelectedIndexChanged(object sender, EventArgs e)
{
// Get the RadComboBox
var comboBox= (RadComboBox)sender;
// Get the item from the grid (RadComboBox parent)
GridDataItem item = (GridDataItem)comboBox.NamingContainer;
item["column3"].text = comboBox.SelectedText; // can't remember the exact syntax on this
}
或者,您可以使用点击更新按钮时触发的RadGrid_ItemCommand
事件。
protected void RadGrid1_ItemCommand(object sender, GridCommandEventArgs e)
{
if (e.CommandName == RadGrid.EditCommandName)
{
// For Normal mode
GridDataItem item = e.Item as GridDataItem;
RadComboBox comboBox = item.FindControl("RadComboBox2") as RadComboBox;
item["column3"].text = comboBox.SelectedText; // can't remember the exact syntax on this
}
}
希望这有帮助。