我搜索了这个论坛,似乎对我的问题没有其他威胁。
我有一个有很多字段的gridview。其中一些是NULL。
如果我按下编辑并编辑NOT NULL字段并按保存,则信息会被正确更改。如果我选择一个NULL为NULL的字段,
没有信息保存。
我将包含一些我的SQL查询以及解决问题的代码片段。
如果你知道我会帮助你,那么请
SQL查询
SELECT Request.column1,
Request.column2,
Request.column3,
Request.column4,
column5= isnull(Request.column5,'Select Date')
FROM Reques
第5列的ASP代码,它是唯一具有空字段并解决问题的代码
<asp:TemplateField HeaderText="Column 5" SortExpression="column5">
<EditItemTemplate>
<asp:DropDownList ID="DropDownList1" runat="server" DataSourceID="SqlDataSource1"
DataTextField="column5" DataValueField="column5" AppendDataBoundItems="true"
SelectedValue='<%# Eval("column5") %>'>
</asp:DropDownList>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# Eval("column5") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
答案 0 :(得分:0)
当您的DDL有“空”字段时,它是如何出现的?包含数据和空格的行的集合?
当rowDataBound发生时,你的代码显示为DDL的值是什么? 你是否试过从代码隐藏中看到这个?
e.g。 (vb.net)
Protected Sub mygrids_RowUpdating(ByVal sender As Object, ByVal e As system.Web.UI.WebControls.GridViewUpdateEventArgs) Handles mygrids.RowUpdating
Dim grv As GridViewRow = Me.mygrids.Rows(Me.mygrids.EditIndex) ' find index of current edited row
Dim dlltype As DropDownList = CType(grv.Cells(1).FindControl("DropDownList1"), DropDownList)
e.NewValues("TYP_ID") = dlltype.SelectedValue
(typ_ID)是我在SQLDATASOURCE中设置的参数
答案 1 :(得分:0)
请粘贴包含DataSource的完整代码。但我会检查以下步骤,以确保每个都已实施。 1.查看您是否正在处理数据源上的更新/保存方法。查看参数是否正确设置 2.查看您是否为网格设置了DataKeyFieldName,以及为您设置编辑模板的特定列。
粘贴完整代码以获得详细的外观