Current filter:
          You should refresh the page.
          Not Logged In

          Multi-Row Editing

          0
          You must  log in  or  register  to leave comments
          Select file
          • Default.aspx
          • Default.aspx.cs
          • InvoiceItems.cs
          • InvoiceItems.vb
          • MultiEditing.aspx.vb
          Select language
          • C#
          • VB.NET
          Select version
          • v2007 vol 3.3 - v2011 vol 2.11
          <%-- BeginRegion Page setup --%>
          <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="Grid_Editing_MultiEditing_MultiEditing" %>
          <%@ Register Assembly="DevExpress.Web.ASPxEditors.v8.1" Namespace="DevExpress.Web.ASPxEditors"  TagPrefix="dxe" %>
          <%@ Register Assembly="DevExpress.Web.ASPxGridView.v8.1" Namespace="DevExpress.Web.ASPxGridView" TagPrefix="dxwgv" %>
          <%@ Register Assembly="DevExpress.Web.v8.1" Namespace="DevExpress.Web.ASPxPager" TagPrefix="dxwp" %>
          
          <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
          <%-- EndRegion --%>
          <html xmlns="http://www.w3.org/1999/xhtml" >
          <head id="Head1" runat="server">
              <title>Multi Row Editing</title>
          <script language="javascript" type="text/javascript">
          // <![CDATA[
          
          function startEdit() {
              document.getElementById("edHidden").value = "editing";
              document.getElementById("btnStartEdit").style.visibility = "hidden";
              document.getElementById("btnUpdate").style.visibility = "";
              document.getElementById("btnCancel").style.visibility = "";
              grid.PerformCallback("StartEdit");
          }
          function updateEdit() {
              grid.GetValuesOnCustomCallback("Update", GetUpdateResult);
          }
          function GetUpdateResult(errorText) {
              if(errorText == "") {
                  stopEditing();
                  grid.PerformCallback("Update");
              } else {
                  alert(errorText);
              }
          }
          function cancelEdit() {
              stopEditing();
              grid.PerformCallback("Cancel");
          }
          function stopEditing() {
              document.getElementById("edHidden").value = "";
              document.getElementById("btnStartEdit").style.visibility = "";
              document.getElementById("btnUpdate").style.visibility = "hidden";
              document.getElementById("btnCancel").style.visibility = "hidden";
          }
          
          function gridSelectionChanged() {
              var selCount = grid.GetSelectedRowCount() - grid.selectedWithoutPageRowCount;
              document.getElementById("btnStartEdit").disabled = selCount > 0 ? "" : "disabled";
          }
          
          function fillEditorValues(grid) {
              var editors = GetGridEditors(grid);
              var values = "";
              for(var i = 0; i < editors.length; i ++) {
                  values += GetEditorValue(grid, editors[i]);
              }
              document.getElementById("edHiddenValues").value = editors.length + ";" + values;
          }
          function GetEditorPrefix(grid) { return grid.name + "_multiEdit"; }
          function GetGridEditors(grid) {
              var list = new Array();
              var editorPrefix = GetEditorPrefix(grid);
              var elements = aspxGetControlCollection().elements;
              for(var name in elements){
                  if(name.indexOf(editorPrefix) == 0) { 
                      var el = elements[name];
                      if(_aspxIsExists(el.GetMainElement) && _aspxIsExists(el.GetMainElement()) &&
                          _aspxIsValidElement(el.GetMainElement())) {
                          list.push(el);
                      }
                  }
              }
              return list;
          }
          function GetEditorValue(grid, editor) {
              var value = editor.GetValueString();
              var valueLength = -1;
              if(!_aspxIsExists(value)) {
                  value = "";
              } else {
                  value = value.toString();
                  valueLength = value.length;
              }
              return GetEditorID(grid, editor.name) + "," + valueLength + "," + value + ";";
          }
          function GetEditorID(grid, editorId) {
              var i = editorId.lastIndexOf(GetEditorPrefix(grid));
              if(i < 0) return -1;
              return editorId.substr(i + GetEditorPrefix(grid).length);
          }
          
          // ]]>
          </script>
          </head>
          <body>
              <form id="form1" runat="server">
              
                  <input id="btnStartEdit" type="button" value="Start Edit" onclick="startEdit()" disabled="disabled" />
                  <input id="btnUpdate" type="button" value="Update" onclick="updateEdit()" style="visibility:hidden" />
                  <input id="btnCancel" type="button" value="Cancel" onclick="cancelEdit()" style="visibility:hidden" />
                  <p />
                  <input id="edHidden" runat="server" type="hidden" />
                  <input id="edHiddenValues" runat="server" type="hidden" />
              <dxwgv:ASPxGridView ID="grid" ClientInstanceName="grid" runat="server" DataSourceID="ObjectDataSource1" KeyFieldName="Id" Width="300px" OnHtmlRowCreated="grid_HtmlRowCreated" AutoGenerateColumns="False" OnCustomDataCallback="grid_CustomDataCallback" OnCustomCallback="grid_CustomCallback" >
                  <Columns>
                      <dxwgv:GridViewCommandColumn VisibleIndex="0" ShowSelectCheckbox="True">
                      </dxwgv:GridViewCommandColumn>
                      <dxwgv:GridViewDataColumn FieldName="Id" VisibleIndex="1" ReadOnly="True" >
                      </dxwgv:GridViewDataColumn>
                      <dxwgv:GridViewDataColumn FieldName="Name" VisibleIndex="2">
                      </dxwgv:GridViewDataColumn>
                      <dxwgv:GridViewDataColumn FieldName="Quantity" VisibleIndex="3">
                      </dxwgv:GridViewDataColumn>
                      <dxwgv:GridViewDataTextColumn FieldName="Price" VisibleIndex="4">
                          <PropertiesTextEdit DisplayFormatString="c"></PropertiesTextEdit>
                      </dxwgv:GridViewDataTextColumn>
                      <dxwgv:GridViewDataTextColumn FieldName="Total" VisibleIndex="5"  ReadOnly="True" >
                          <PropertiesTextEdit DisplayFormatString="c"></PropertiesTextEdit>
                      </dxwgv:GridViewDataTextColumn>
                  </Columns>
                  <TotalSummary>
                      <dxwgv:ASPxSummaryItem FieldName="Name" SummaryType="Count" />
                      <dxwgv:ASPxSummaryItem FieldName="Quantity" SummaryType="Sum" />
                      <dxwgv:ASPxSummaryItem FieldName="Total" SummaryType="Sum" DisplayFormat="c" />
                  </TotalSummary>
                  <Settings ShowFooter="true" />        
                  <ClientSideEvents BeginCallback="function(s, e) { fillEditorValues(grid); }" SelectionChanged="function(s, e) {    gridSelectionChanged();}" />
              </dxwgv:ASPxGridView>
                  <asp:ObjectDataSource ID="ObjectDataSource1" runat="server"
                      SelectMethod="GetItems" TypeName="InvoiceItemsProvider"></asp:ObjectDataSource>
              </form>
          </body>
          </html>