当我插入时,带有下拉列表的 Radgrid 插入获得空值
Radgrid insert with dropdown gets null value when I insert
我正在使用 asp.net C# 和 telerik。
我有 radgrid 和一个按钮添加新记录。我按下它并填写信息,但问题是当我按下插入时它说 ParentDist 和 RankLevel 不能为空。
换句话说,我可以从下拉列表中获得 i select 的值。我做错了什么以及如何解决?
<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>
使用 Bind
表达式 (https://msdn.microsoft.com/en-us/library/vstudio/ms178366%28v=vs.100%29.aspx), as shown here: 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) 并使用它们的值自行编译查询。
我正在使用 asp.net C# 和 telerik。 我有 radgrid 和一个按钮添加新记录。我按下它并填写信息,但问题是当我按下插入时它说 ParentDist 和 RankLevel 不能为空。 换句话说,我可以从下拉列表中获得 i select 的值。我做错了什么以及如何解决?
<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>
使用 Bind
表达式 (https://msdn.microsoft.com/en-us/library/vstudio/ms178366%28v=vs.100%29.aspx), as shown here: 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) 并使用它们的值自行编译查询。