2012-03-10 1 views
0

У меня есть моя панель сетки следующегоКак получить только конкретное значение из панели сетки на выбранной строке

<ext:GridPanel ID="GridPanel1" runat="server" Height="300" Title="Title"> 
    <ColumnModel runat="server"> 
     <Columns> 
     </Columns> 
    </ColumnModel> 
    <Store> 
     <ext:Store ID="Store1" runat="server" EnableViewState="true"> 
     </ext:Store> 
    </Store> 
    <SelectionModel> 
     <ext:RowSelectionModel ID="RowSelectionModel1" SingleSelect="true" runat="server"> 
     </ext:RowSelectionModel> 
    </SelectionModel> 
    <Buttons> 
     <ext:Button ID="btnDelete" runat="server" Text="Delete"> 
      <DirectEvents> 
       <Click OnEvent="Delete"> 
        <ExtraParams> 
         <ext:Parameter Name="Values" Value="Ext.encode(#{GridPanel1}.getRowsValues({selectedOnly:true}))" 
          Mode="Raw" /> 
        </ExtraParams> 
       </Click> 
      </DirectEvents> 
     </ext:Button> 
    </Buttons> 
</ext:GridPanel> 

Это моя сетка из моей базы данных

enter image description here

Это мой код для удаления выбранной строки, но это цикл для значения строки, поскольку я использовал словарь

protected void Delete(object sender, DirectEventArgs e) 
{ 
    string json = e.ExtraParams["Values"]; 
    string value = string.Empty; 
    Dictionary<string, string>[] companies = JSON.Deserialize<Dictionary<string, string>[]>(json); 
    bool addHeader = true; 

    foreach (Dictionary<string, string> row in companies) 
    { 
     if (addHeader) 
     { 
      //sb.Append("<tr>"); 
      foreach (KeyValuePair<string, string> keyValuePair in row) 
      { 
       value = keyValuePair.Value.ToString(); 
       SqlConnection con = new SqlConnection(connection); 
       con.Open(); 
       SqlCommand cmd = new SqlCommand("Delete from Users where Name='" + value + "'", con); 
       cmd.ExecuteNonQuery(); 
       BindData(); 
      } 
      addHeader = false; 
     } 
    } 

}

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

+0

полностью ошибочный метод для удаления записи, попробуйте другие методы – sakir

ответ

0

Это ExtJs4? Ищите метод getSelectionModel(). GetSelection() вашего управления сеткой.

Смежные вопросы