您的位置:首页 > 其它

Ext.Net 1.x_Ext.Net.GridPanel RowExpander运用案列

2012-07-19 16:34 441 查看
上图:



JS:

//展开子项目
var setSubprojectExpandInfomation = function (response, result, expander, type, action, params) {
var prj = Ext.getCmp("panDetail");
var values = result.extraParamsResponse.content;
var value = values.split('|');//多个值分割符号
prj.body.dom.innerHTML = value[0];

};

HTML:

<Plugins>
<ext:RowExpander ID="RowExpander" runat="server">
<DirectEvents>
<BeforeExpand OnEvent="BeforeExpand" Success="setSubprojectExpandInfomation(response, result, el, type, action, extraParams);"
Before="return !record.cached;">
<EventMask ShowMask="true" MinDelay="500" Target="CustomTarget" CustomTarget="={GPCooper.body}" />
<ExtraParams>
<ext:Parameter Name="ProjectID" Value="record.data['id']" Mode="Raw" />

</ExtraParams>
</BeforeExpand>
</DirectEvents>
<Component>
<ext:FormPanel
ID="RowEditor1"
runat="server"
Padding="6"
Height="330"
Border="false"
Layout="ColumnLayout"
AnchorHorizontal="100%"
AutoScroll="true">
<Items>
<ext:Panel ID="panDetail" runat="server" Header="true" Border="false"  FormGroup="true" Title="项目信息"  ColumnWidth="1.0">

</ext:Panel>

</Items>
</ext:FormPanel>
</Component>

<Listeners>
<Expand Handler="#{RowEditor1}.record = record; #{RowEditor1}.getForm().loadRecord(record);" />
</Listeners>
</ext:RowExpander>
</Plugins>

CS:

/// <summary>
/// 子项目展开
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void BeforeExpand(object sender, DirectEventArgs e)
{
string projID = e.ExtraParams["ProjectID"];

DataTable dt = new DataTable();
StringBuilder strSql = new StringBuilder();
strSql.Append("SELECT [TaskCode] as 工作流号, dbo.GetStatus(TaskCode) as 状态码,[SerialNo] 报价单,[ClientNo] 客户编码,[ClientDes] 客户简称,");
strSql.Append("case when [ClientType]='Y' then 'AZ' else 'NAZ' End 客户类型,  ");
strSql.Append("[Currency] 币别,[Rate] 汇率,[ProductType] 财务模版,[ProductType2] 产品类型, ");
strSql.Append("[Customer P/N] 客户品号,[Internal P/N] 内部品号,[Date] 创建日期,us.name as 工程师,users.name as 业务员,rtrim([dbo].[GetTaskMark](TaskCode)) as 进度,  ");
strSql.Append("SaleRemark 销售备注,RdRemark 开发备注,PurRemark 采购备注,FinRemark 财务备注 ");
strSql.Append("FROM [OA].[dbo].[ZMQuotation] left join users on [BusinessId]=users.id  ");
strSql.Append("left join users as us on [EngineerId]=us.id ");
strSql.Append("where [ZMQuotation].id= " + projID);

dt = SqlHelper.ExecuteDataset(SqlHelper.conn, CommandType.Text, strSql.ToString()).Tables[0];

StringBuilder html = new StringBuilder();
html.Append("<table class=\"data\">");
for (int i = 0; i < dt.Rows.Count; i++)
{
for (int j=0; j < dt.Columns.Count; j++)
{
html.Append("<tr>");
html.Append("<td width='100px' align=right><B>" + dt.Columns[j].ColumnName + ":</B>" + "</td>");
html.Append("<td>" + dt.Rows[i][j] + "</td>");
html.Append("</tr>");
}
}

html.Append("</table>");
e.ExtraParamsResponse["content"] = html.ToString();
}

感谢心是走动的词的无私帮忙,谢谢
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: