2013-08-07 1 views
1

Как я могу получить все столбцы по индексу. Как я не знаю, сколько столбцов у меня есть и какова их ценность DataIndex, то как их получить.Получить индекс столбца строки в сетке при нажатии кнопки, добавленной на верхнем панели в extjs

На самом деле я хочу очистить ячейки, поэтому для поиска индексов каждого столбца в строке. Если есть какой-либо другой способ очистки данных строки, тогда, пожалуйста, помогите в этом. В настоящее время я получил индекс строки с помощью кода ниже,

вар записи = grid.getSelectionModel() GetSelection() [0].

var index = store.indexOf (запись);

Теперь первое, что я хочу сделать, это очистить содержимое ячеек в выбранной строке нажатием кнопки, а во-вторых, я хочу получить индекс столбцов внутри этой выбранной строки и установить для них любое значение с использованием их индекса.

ответ

0

Я думаю, вы на самом деле хотите, чтобы что-то изменить, если появится определенное значение в ячейке - сделать это в вашей сетке добавить:

<View> 
    <ext:GridView runat="server" > 
      <GetRowClass Fn="getRowClass" /> 
    </ext:GridView> 
</View> 

и в getRowClass вы тогда можете делать то, что вы хотите для каждой строки например:

function getRowClass(record) { 
    var someVar = record.data.<columnIndex>; 
    if (someVar == <someValue>) { 
     do something 
    }} 
+0

Думаю, вы не проверяли название вопроса. Извините, но этого я не хотел. Я просто хотел знать, как я могу получить индекс столбцов при нажатии кнопки BUTTON на панели инструментов. В настоящее время я использую обработчик click для вызова функции, в которой я получаю выбранную строку и ее индекс. Теперь я просто хотел узнать код для получения количества столбцов и индекса столбца. Если бы вы могли продолжить код с моим вышеупомянутым кодом, тогда это было бы полезно для меня. благодаря – Gaurav

0

См. раздел «Обработчики кнопок».

<%@ Page Language="C#" %> 

<%@ Register Assembly="Ext.Net" Namespace="Ext.Net" TagPrefix="ext" %> 

<script runat="server"> 
    protected void Page_Load(object sender, EventArgs e) 
    { 
     if (!X.IsAjaxRequest) 
     { 
      Store store = this.GridPanel1.GetStore(); 
      store.DataSource = new object[] 
      { 
       new object[] { "test1", "test2", "test3" }, 
       new object[] { "test4", "test5", "test6" }, 
       new object[] { "test7", "test8", "test9" } 
      }; 
     } 
    } 
</script> 

<!DOCTYPE html> 
<html> 
<head runat="server"> 
    <title>Ext.NET v2 Example</title> 

    <script> 
     var setRecord = function (record, value) { 
      var i, 
       fields = record.fields.items, 
       field; 

      record.beginEdit(); 

      for (i = 0; i < fields.length; i++) { 
       field = fields[i].name; 

       if (field !== record.idProperty) { 
        record.set(field, value); 
       } 
      } 

      record.endEdit(); 
     }; 

     var clear = function() { 
      var grid = App.GridPanel1, 
       selection = grid.getSelectionModel().getSelection(), 
       i; 

      for (i = 0; i < selection.length; i++) { 
       setRecord(selection[i], ""); 
      } 
     }; 

     var set = function() { 
      var grid = App.GridPanel1, 
       selection = grid.getSelectionModel().getSelection(), 
       i; 

      for (i = 0; i < selection.length; i++) { 
       setRecord(selection[i], "new"); 
      } 
     }; 
    </script> 
</head> 
<body> 
    <form runat="server"> 
     <ext:ResourceManager runat="server" /> 

     <ext:Button runat="server" Text="Clear" Handler="clear" /> 

     <ext:Button runat="server" Text="Set" Handler="set" /> 

     <ext:GridPanel ID="GridPanel1" runat="server"> 
      <Store> 
       <ext:Store runat="server"> 
        <Model> 
         <ext:Model runat="server"> 
          <Fields> 
           <ext:ModelField Name="test1" /> 
           <ext:ModelField Name="test2" /> 
           <ext:ModelField Name="test3" /> 
          </Fields> 
         </ext:Model> 
        </Model> 
       </ext:Store> 
      </Store> 
      <ColumnModel runat="server"> 
       <Columns> 
        <ext:Column runat="server" Text="Test1" DataIndex="test1" /> 
        <ext:Column runat="server" Text="Test2" DataIndex="test2" /> 
        <ext:Column runat="server" Text="Test3" DataIndex="test3" /> 
       </Columns> 
      </ColumnModel> 
     </ext:GridPanel>   
    </form> 
</body> 
</html> 
Смежные вопросы