无法在ASP.NET Gridview中编辑空值

时间:2011-05-23 19:28:09

标签: asp.net

我搜索了这个论坛,似乎对我的问题没有其他威胁。

我有一个有很多字段的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>

2 个答案:

答案 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,以及为您设置编辑模板的特定列。

粘贴完整代码以获得详细的外观