我正在使用带有telerik的asp.net C#。 我有radgrid和一个按钮添加新记录。我按下它并填写信息,但问题是当我按下插入时它表示ParentDist和RankLevel不能为空。 换句话说,我可以获得从下拉列表中选择的值。我做错了什么以及如何解决它?
<telerik:GridTemplateColumn DataField="ParentDist" FilterControlAltText="Filter ParentDist column" HeaderText="ParentDist" SortExpression="ParentDist" UniqueName="ParentDist">
<EditItemTemplate>
<telerik:RadDropDownList ID="ParentDistDropDown" runat="server" DataSourceID="ParentSqlDataSource" DataTextField="Name" DataValueField="IDnumber" DefaultMessage="Select If Exists">
</telerik:RadDropDownList>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="ParentDistTextBox" runat="server" Text='<%# Eval("ParentDist") %>'></asp:Label>
</ItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn DataField="RankLevel" DataType="System.Int32" FilterControlAltText="Filter RankLevel column" HeaderText="RankLevel" SortExpression="RankLevel" UniqueName="RankLevel">
<EditItemTemplate>
<telerik:RadDropDownList ID="RadDropDownList1" runat="server" DataSourceID="RankSqlDataSource" DataTextField="RankDescr" DataValueField="RankID" > </telerik:RadDropDownList> </EditItemTemplate>
<ItemTemplate>
<asp:Label ID="RankLevelTextBox" runat="server" Text='<%# Eval("RankLevel") %>'></asp:Label>
</ItemTemplate>
</telerik:GridTemplateColumn>
InsertCommand="INSERT INTO edmark_distriblist (ParentDist,RankLevel) VALUES ( @ParentDistDropDown, @RadDropDownList1,)"
>
<InsertParameters>
<asp:Parameter Name="ParentDistDropDown" Type="String" ></asp:Parameter>
<asp:Parameter Name="RadDropDownList1" Type="Int32"></asp:Parameter>
</InsertParameters>
答案 0 :(得分:0)
使用Bind
表达式(https://msdn.microsoft.com/en-us/library/vstudio/ms178366%28v=vs.100%29.aspx),如下所示:http://demos.telerik.com/aspnet-ajax/grid/examples/data-editing/form-template-update/defaultcs.aspx。请注意下拉列表的SelectedValue
属性。
或者,只需使用InsertCommand事件,访问控件(http://www.telerik.com/help/aspnet-ajax/grid-accessing-cells-and-rows.html)并使用它们的值自行编译查询。