Coolite GridPanel 操作之一:获取gridpanel 选中行的记录信息
<Buttons>
<ext:Button ID="ButtonSelect" runat="server" Text="Select">
<AjaxEvents>
<Click OnEvent="ButtonRoleListSelect_Click">
<ExtraParams>
<ext:Parameter Name="Values" Value="Ext.encode(#{GropRoleList}.getRowsValues())"
Mode="Raw" />
</ExtraParams>
</Click>
</AjaxEvents>
</ext:Button>
</Buttons>
事件:
public void ButtonRoleListSelect_Click(object sender, AjaxEventArgs e)
{
string json = e.ExtraParams["Values"];
bool addHeader = true;
DataTable dt = new DataTable();
StringBuilder sbstr = new StringBuilder();
Dictionary<string, string>[] companies = JSON.Deserialize<Dictionary<string, string>[]>(json);
foreach (Dictionary<string, string> row in companies)
{
if (addHeader)
{
foreach (KeyValuePair<string, string> keyValuePair in row)
{
dt.Columns.Add(keyValuePair.Key);
}
}
addHeader = false;
ArrayList list = new ArrayList();
DataRow dr = dt.NewRow();
foreach (KeyValuePair<string, string> keyValuePair in row)
{
dr[keyValuePair.Key] = keyValuePair.Value;
if (dr["orgrole_id"] == dr[keyValuePair.Key])
{
sbstr.Append(keyValuePair.Value + ";");
}
}
dt.Rows.Add(dr);
}
if (dt.Rows.Count > 0)
{
try
{
DC_OperationType operationtype = new DC_OperationType();
MSG_OrgRoleOrgMainTainRequest request = new MSG_OrgRoleOrgMainTainRequest();
request.orgrole_id = sbstr.ToString();
operationtype.DCE_OperationType = DCE_OperationType.Add;
request.OperationType = operationtype;
request.organization_id = Node_id;
client.OrgRoleOrgMaintain(request);
string JsFunction = "refreshTree(#{TreePanelOrganization})";
//string JsFunction = "alert('dd');";
//string JsFunction = "refreshTree()";
Coolite.Ext.Web.ScriptManager sm = Coolite.Ext.Web.ScriptManager.GetInstance(HttpContext.Current);
sm.AddScript(string.Format("{0};", JsFunction));
this.WindowNewRole.Hide();
}
catch (Exception ex)
{
Ext.Msg.Alert("错误", "Message: " + ex.Message + ";").Show();
}
}
}