如何从选定行的网格面板中仅获取特定值
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() 方法。
【讨论】:
以上是关于如何从选定行的网格面板中仅获取特定值的主要内容,如果未能解决你的问题,请参考以下文章