如何从选定行的网格面板中仅获取特定值

Posted

技术标签:

【中文标题】如何从选定行的网格面板中仅获取特定值【英文标题】:How to Get only Particular value from a grid panel on selected Row 【发布时间】:2012-03-10 06:16:37 【问题描述】:

我的网格面板如下

<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>

这是我数据库中的网格

这是我删除所选行的代码,但是当我使用字典时,这是对行值的循环

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】:

这是 ExtJs4 吗?查找网格控件的 getSelectionModel().getSelection() 方法。

【讨论】:

以上是关于如何从选定行的网格面板中仅获取特定值的主要内容,如果未能解决你的问题,请参考以下文章

从Angular 2+中的剑道网格中获取选定行的列表

获取选定行的 ExtJS4 可编辑网格返回空

如何从网格面板中删除选定的行以及数据库中的相应数据?

如何在 Ext 4 网格面板中仅启用新行?

迭代时,选定网格行的索引为 -1

Extjs4:如何使用“multiSelect:true”获取网格中的所有选定行