Note that there are some explanatory texts on larger screens.

plurals
  1. POGridview why all visible rows are set to dirty?
    primarykey
    data
    text
    <p>I'm using the BulkEditGridView control as discussed <a href="http://roohit.com/site/showArc.php?shid=bbb62" rel="nofollow">http://roohit.com/site/showArc.php?shid=bbb62</a>, and it's perfect for my needs. The problem I'm having is that whenever I save, every visible row (I have paging enabled) gets updated. Stepping through the code I see that grid.DirtyRows.Count is equal to the number of items per page minus 1 when I click the save button.</p> <p>I can't find where rows are set as dirty. Any suggestions where I can look? </p> <p>My code-behind has only this:</p> <pre><code>using System; using System.Web.UI.WebControls; using System.Collections.Generic; using System.Collections; using System.Data.Common; public partial class MSDS_MSDS_Admin_GridUpdate : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { gridMSDS.DataKeyNames = new String[] { "id" }; gridMSDS.DataBind(); } } } </code></pre> <p>EDIT: Here is the aspx code.</p> <pre><code>&lt;%@ Page Language="C#" MasterPageFile="~/MSDS/MSDS.master" AutoEventWireup="true" EnableEventValidation="false" CodeFile="GridUpdate.aspx.cs" Inherits="MSDS_MSDS_Admin_GridUpdate" Title="Untitled Page" %&gt; &lt;%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="cc1" %&gt; &lt;%@ Register Assembly="RealWorld.Grids" Namespace="RealWorld.Grids" TagPrefix="cc2" %&gt; &lt;asp:Content ID="Content1" ContentPlaceHolderID="PageContent" runat="Server"&gt; &lt;br /&gt; &lt;asp:Button ID="btnSave" runat="server" Text="Save" Width="100%" /&gt; &lt;cc2:BulkEditGridView ID="gridMSDS" runat="server" AllowPaging="True" AllowSorting="True" DataSourceID="sqlData" EnableInsert="False" InsertRowCount="1" PageSize="20" SaveButtonID="btnSave" AutoGenerateColumns="False"&gt; &lt;Columns&gt; &lt;asp:BoundField DataField="ID" HeaderText="ID" InsertVisible="False" Visible="false" ReadOnly="True" SortExpression="ID" /&gt; &lt;asp:BoundField DataField="ChemicalTitle" HeaderText="ChemicalTitle" SortExpression="ChemicalTitle" /&gt; &lt;asp:TemplateField HeaderText="SheetDate" SortExpression="SheetDate"&gt; &lt;EditItemTemplate&gt; &lt;asp:TextBox ID="TextBox1" runat="server" Text='&lt;%# Bind("SheetDate") %&gt;' Width="85px"&gt;&lt;/asp:TextBox&gt; &lt;cc1:CalendarExtender ID="TextBox1_CalendarExtender" runat="server" Enabled="True" TargetControlID="TextBox1"&gt; &lt;/cc1:CalendarExtender&gt; &lt;/EditItemTemplate&gt; &lt;ItemTemplate&gt; &lt;asp:Label ID="Label2" runat="server" Text='&lt;%# Eval("SheetDate") %&gt;'&gt;&lt;/asp:Label&gt; &lt;/ItemTemplate&gt; &lt;/asp:TemplateField&gt; &lt;asp:BoundField DataField="Filename" HeaderText="Filename" SortExpression="Filename" /&gt; &lt;asp:BoundField DataField="Manufacturer" HeaderText="Manufacturer" SortExpression="Manufacturer" /&gt; &lt;asp:BoundField DataField="UsageDept" HeaderText="UsageDept" SortExpression="UsageDept" /&gt; &lt;asp:TemplateField HeaderText="Notes" SortExpression="Notes"&gt; &lt;EditItemTemplate&gt; &lt;asp:TextBox ID="TextBox5" runat="server" Text='&lt;%# Bind("Notes") %&gt;' TextMode="MultiLine"&gt;&lt;/asp:TextBox&gt; &lt;/EditItemTemplate&gt; &lt;ItemTemplate&gt; &lt;asp:Label ID="Label6" runat="server" Text='&lt;%# Bind("Notes") %&gt;'&gt;&lt;/asp:Label&gt; &lt;/ItemTemplate&gt; &lt;/asp:TemplateField&gt; &lt;asp:TemplateField HeaderText="Status" SortExpression="Status"&gt; &lt;EditItemTemplate&gt; &lt;asp:DropDownList ID="ddlStatus" runat="server" DataSourceID="sqlStatus" DataTextField="DisplayValue" DataValueField="Value" SelectedValue='&lt;%# Bind("Status") %&gt;'&gt; &lt;/asp:DropDownList&gt; &lt;asp:SqlDataSource ID="sqlStatus" runat="server" ConnectionString="&lt;%$ ConnectionStrings:NCLWebConnectionString %&gt;" SelectCommand="getOptionList" SelectCommandType="StoredProcedure"&gt; &lt;SelectParameters&gt; &lt;asp:Parameter DefaultValue="msds_Status" Name="ListName" Type="String" /&gt; &lt;/SelectParameters&gt; &lt;/asp:SqlDataSource&gt; &lt;/EditItemTemplate&gt; &lt;ItemTemplate&gt; &lt;asp:DropDownList ID="ddlStatus" runat="server" DataSourceID="sqlStatus" disabled="true" BackColor="White" DataTextField="DisplayValue" DataValueField="Value" SelectedValue='&lt;%# Bind("Status") %&gt;'&gt; &lt;/asp:DropDownList&gt; &lt;asp:SqlDataSource ID="sqlStatus" runat="server" ConnectionString="&lt;%$ ConnectionStrings:NCLWebConnectionString %&gt;" SelectCommand="getOptionList" SelectCommandType="StoredProcedure"&gt; &lt;SelectParameters&gt; &lt;asp:Parameter DefaultValue="msds_Status" Name="ListName" Type="String" /&gt; &lt;/SelectParameters&gt; &lt;/asp:SqlDataSource&gt; &lt;/ItemTemplate&gt; &lt;/asp:TemplateField&gt; &lt;asp:TemplateField HeaderText="Health" SortExpression="Health"&gt; &lt;EditItemTemplate&gt; &lt;center&gt; &lt;asp:TextBox ID="TextBox2" runat="server" Style="text-align: center" Text='&lt;%# Bind("Health") %&gt;' Width="25px"&gt;&lt;/asp:TextBox&gt; &lt;/center&gt; &lt;/EditItemTemplate&gt; &lt;ItemTemplate&gt; &lt;asp:Label ID="Label3" runat="server" Text='&lt;%# Bind("Health") %&gt;'&gt;&lt;/asp:Label&gt; &lt;/ItemTemplate&gt; &lt;/asp:TemplateField&gt; &lt;asp:TemplateField HeaderText="Fire" SortExpression="Fire"&gt; &lt;EditItemTemplate&gt; &lt;center&gt; &lt;asp:TextBox ID="TextBox3" runat="server" Text='&lt;%# Bind("Fire") %&gt;' Width="25px"&gt;&lt;/asp:TextBox&gt;&lt;/center&gt; &lt;/EditItemTemplate&gt; &lt;ItemTemplate&gt; &lt;asp:Label ID="Label4" runat="server" Text='&lt;%# Bind("Fire") %&gt;'&gt;&lt;/asp:Label&gt; &lt;/ItemTemplate&gt; &lt;/asp:TemplateField&gt; &lt;asp:TemplateField HeaderText="Reactivity" SortExpression="Reactivity"&gt; &lt;EditItemTemplate&gt; &lt;center&gt; &lt;asp:TextBox ID="TextBox4" runat="server" Text='&lt;%# Bind("Reactivity") %&gt;' Width="25px"&gt;&lt;/asp:TextBox&gt;&lt;/center&gt; &lt;/EditItemTemplate&gt; &lt;ItemTemplate&gt; &lt;asp:Label ID="Label5" runat="server" Text='&lt;%# Bind("Reactivity") %&gt;'&gt;&lt;/asp:Label&gt; &lt;/ItemTemplate&gt; &lt;/asp:TemplateField&gt; &lt;asp:BoundField DataField="DateUpdated" HeaderText="DateUpdated" SortExpression="DateUpdated" ReadOnly="True" /&gt; &lt;asp:BoundField DataField="UpdatedBy" ReadOnly="True" HeaderText="UpdatedBy" SortExpression="UpdatedBy" /&gt; &lt;/Columns&gt; &lt;/cc2:BulkEditGridView&gt; &lt;asp:SqlDataSource ID="sqlData" runat="server" ConnectionString="&lt;%$ ConnectionStrings:NCLWebConnectionString %&gt;" SelectCommand="SELECT [ID], [ChemicalTitle], dbo.dateOnly([SheetDate]) As [SheetDate], [Filename], [Manufacturer], [UsageDept], [Notes], isnull([Status], 4) as [Status], [Health], [Fire], [Reactivity], [DateUpdated], [UpdatedBy] FROM [msds_Sheets] ORDER BY [ChemicalTitle]" UpdateCommand="msds_UpdateSheet" UpdateCommandType="StoredProcedure"&gt; &lt;UpdateParameters&gt; &lt;asp:Parameter Name="ID" Type="Int32" /&gt; &lt;asp:Parameter Name="ChemicalTitle" Type="String" /&gt; &lt;asp:Parameter Name="SheetDate" DbType="DateTime" /&gt; &lt;asp:Parameter Name="Filename" Type="String" /&gt; &lt;asp:Parameter Name="Manufacturer" Type="String" /&gt; &lt;asp:Parameter Name="UsageDept" Type="String" /&gt; &lt;asp:Parameter Name="Notes" Type="String" /&gt; &lt;asp:Parameter Name="Status" Type="Int16" /&gt; &lt;asp:Parameter Name="Health" Type="Int16" /&gt; &lt;asp:Parameter Name="Fire" Type="Int16" /&gt; &lt;asp:Parameter Name="Reactivity" Type="Int16" /&gt; &lt;asp:ProfileParameter Name="UpdatedBy" Type="String" PropertyName="Username" /&gt; &lt;/UpdateParameters&gt; &lt;/asp:SqlDataSource&gt; &lt;/asp:Content&gt; </code></pre> <p>Testing Procedure is as follows:<br> -Load the page.<br> -Edit something in the first row.<br> -Click save button.</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload