Как получить только конкретное значение из панели сетки на выбранной строке - PullRequest
0 голосов
/ 10 марта 2012

У меня есть панель сетки следующим образом

<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

1 Ответ

0 голосов
/ 10 марта 2012

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

...