Advertisement
Guest User

Untitled

a guest
Nov 15th, 2011
469
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 8.58 KB | None | 0 0
  1.     <script runat="server">
  2.         protected void Page_Load(object sender, EventArgs e)
  3.         {
  4.             List<object> data = new List<object>();
  5.        
  6.             for (int i = 0; i < 10; i++)
  7.             {
  8.                 data.Add(new
  9.                 {
  10.                     Name = "Rec " + i,
  11.                     Column1 = i.ToString(),
  12.                     Column2 = i.ToString()
  13.                 });
  14.             }
  15.  
  16.             this.Store1.DataSource = data;
  17.             this.Store1.DataBind();
  18.         }
  19.         protected void TestButton_Click(object sender, DirectEventArgs e)
  20.         {
  21.             var s = GridPanel2.Items.ToString();
  22.         }
  23.     </script>
  24.  
  25.     <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  26.         "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  27.  
  28.     <html xmlns="http://www.w3.org/1999/xhtml">
  29.     <head id="Head1" runat="server">
  30.         <title>Drag and Drop from GridPanel to GridPanel - Ext.NET Examples</title>
  31.         <link href="../../../../resources/css/examples.css" rel="stylesheet" type="text/css" />
  32.    
  33.         <script type="text/javascript">
  34.             // Generic function to add records.
  35.             var addRow = function (store, record, ddSource) {
  36.                 // Search for duplicates
  37.                 var foundItem = store.findExact('Name', record.data.Name);
  38.  
  39.                 // if not found
  40.                 if (foundItem == -1) {
  41.                     //Remove Record from the source
  42.                     ddSource.grid.store.remove(record);
  43.  
  44.                     store.add(record);
  45.  
  46.                     // Call a sort dynamically
  47.                     store.sort('Name', 'ASC');
  48.                 }
  49.             };
  50.  
  51.             var notifyDrop1 = function (ddSource, e, data) {
  52.                 // Loop through the selections
  53.                 Ext.each(ddSource.dragData.selections, function (record) {
  54.                     addRow(Store1, record, ddSource);
  55.                 });
  56.  
  57.                 return true;
  58.             };
  59.  
  60.             var notifyDrop2 = function (ddSource, e, data) {
  61.                 // Loop through the selections
  62.                 Ext.each(ddSource.dragData.selections, function (record) {
  63.                     addRow(Store2, record, ddSource);
  64.                 });
  65.  
  66.                 return true;
  67.             };
  68.         </script>
  69.         <script type="text/javascript">
  70.             function getStoreValues(store) {
  71.                 var a = [];
  72.                 store.each(function (r) { a.push(r.id); })
  73.                 return a.join(',')
  74.             }
  75.         </script>
  76.     </head>
  77.     <body>
  78.         <form id="Form1" runat="server">
  79.             <ext:ResourceManager ID="ResourceManager1" runat="server" />
  80.        
  81.             <h1>Drag and Drop from GridPanel to GridPanel</h1>
  82.        
  83.             <p>This example shows how to setup two way drag and drop from one GridPanel to another.</p>    
  84.        
  85.             <ext:Store ID="Store1" runat="server">
  86.                 <Reader>
  87.                     <ext:JsonReader>
  88.                         <Fields>
  89.                             <ext:RecordField Name="Name" />
  90.                             <ext:RecordField Name="Column1" />
  91.                             <ext:RecordField Name="Column2" />
  92.                         </Fields>
  93.                     </ext:JsonReader>
  94.                 </Reader>
  95.             </ext:Store>
  96.        
  97.             <ext:Store ID="Store2" runat="server">
  98.                 <Reader>
  99.                     <ext:JsonReader>
  100.                         <Fields>
  101.                             <ext:RecordField Name="Name" />
  102.                             <ext:RecordField Name="Column1" />
  103.                             <ext:RecordField Name="Column2" />
  104.                         </Fields>
  105.                     </ext:JsonReader>
  106.                 </Reader>
  107.             </ext:Store>
  108.        
  109.             <ext:Panel ID="Panel1" runat="server" Width="650" Height="300">
  110.                 <Items>
  111.                     <ext:BorderLayout ID="BorderLayout1" runat="server">
  112.                         <West MarginsSummary="5 5 5 5">
  113.                             <ext:GridPanel
  114.                                 ID="GridPanel1"
  115.                                 runat="server"
  116.                                 DDGroup="secondGridDDGroup"
  117.                                 StoreID="Store1"
  118.                                 EnableDragDrop="true"
  119.                                 StripeRows="true"
  120.                                 AutoExpandColumn="Name"
  121.                                 Width="325"
  122.                                 Title="Left">
  123.                                 <ColumnModel>
  124.                                     <Columns>
  125.                                         <ext:Column ColumnID="Name" Header="Record Name" Width="160" DataIndex="Name" />
  126.                                         <ext:Column Header="Column 1" Width="60" DataIndex="Column1" />
  127.                                         <ext:Column Header="Column 2" Width="60" DataIndex="Column2" />
  128.                                     </Columns>
  129.                                 </ColumnModel>
  130.                                 <SelectionModel>
  131.                                     <ext:RowSelectionModel ID="RowSelectionModel1" runat="server" />
  132.                                 </SelectionModel>
  133.                             </ext:GridPanel>
  134.                         </West>
  135.                    
  136.                         <Center MarginsSummary="5 5 5 0">
  137.                             <ext:GridPanel
  138.                                 ID="GridPanel2"
  139.                                 runat="server"
  140.                                 DDGroup="firstGridDDGroup"
  141.                                 StoreID="Store2"
  142.                                 EnableDragDrop="true"
  143.                                 StripeRows="true"
  144.                                 AutoExpandColumn="Name"
  145.                                 Width="325"
  146.                                 Title="Right">
  147.                                 <ColumnModel>
  148.                                     <Columns>
  149.                                         <ext:Column ColumnID="Name" Header="Record Name" Width="160" DataIndex="Name" />
  150.                                         <ext:Column Header="Column 1" Width="60" DataIndex="Column1" />
  151.                                         <ext:Column Header="Column 2" Width="60" DataIndex="Column2" />
  152.                                     </Columns>
  153.                                 </ColumnModel>
  154.                                 <SelectionModel>
  155.                                     <ext:RowSelectionModel ID="RowSelectionModel2" runat="server" />
  156.                                 </SelectionModel>
  157.                             </ext:GridPanel>
  158.                         </Center>
  159.                     </ext:BorderLayout>
  160.                 </Items>
  161.            
  162.                 <BottomBar>
  163.                     <ext:Toolbar ID="Toolbar1" runat="server">
  164.                         <Items>
  165.                             <ext:ToolbarFill ID="ToolbarFill1" runat="server" />
  166.                             <ext:Button ID="TestButton" runat="server" Text="Click me">
  167.                                 <DirectEvents>
  168.                                     <Click OnEvent="TestButton_Click" ViewStateMode="Enabled">
  169.                                         <ExtraParams>
  170.                                             <ext:Parameter Name="StoreIds" Value="getStoreValues(#{Store2})" Mode="Raw" />
  171.                                         </ExtraParams>
  172.                                         <EventMask ShowMask="true" />
  173.                                     </Click>
  174.                                 </DirectEvents>
  175.                             </ext:Button>
  176.                             <ext:Button ID="Button1" runat="server" Text="Reset">
  177.                                 <Listeners>
  178.                                     <Click Handler="Store1.loadData(Store1.proxy.data); Store2.removeAll();" />
  179.                                 </Listeners>
  180.                             </ext:Button>
  181.                         </Items>
  182.                     </ext:Toolbar>
  183.                 </BottomBar>
  184.             </ext:Panel>
  185.        
  186.             <ext:DropTarget ID="DropTarget1" runat="server" Target="={GridPanel1.view.scroller.dom}" Group="firstGridDDGroup">
  187.                 <NotifyDrop Fn="notifyDrop1" />
  188.             </ext:DropTarget>      
  189.        
  190.             <ext:DropTarget ID="DropTarget2" runat="server" Target="={GridPanel2.view.scroller.dom}" Group="secondGridDDGroup">
  191.                 <NotifyDrop Fn="notifyDrop2" />
  192.             </ext:DropTarget>
  193.        
  194.         </form>    
  195.     </body>
  196.     </html>
  197.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement