Ext.Net常用方法

简介:

1、js(Ext)操作

复制代码
Ext.Msg.alert('系统提示', '未连接血站,该功能暂时不能使用。');  
Ext.getCmp("id").getValue();
Ext.getCmp("id").focus();
Ext.getCmp("id").selectText();

 

//选中修改

if (!GridPanel1.hasSelection()) {
Ext.Msg.alert("系统提示", "请选择记录!");
return;
}
var record = GridPanel1.selModel.getSelected();
alert(record.data.BULLETIN_ID);

 
 
复制代码

2、后置类选择提示窗口

复制代码
X.Msg.Confirm("系统提示", "确认保存复检信息?", new MessageBoxButtonsConfig
{
    Yes = new MessageBoxButtonConfig
{
    Handler = "Ext.net.DirectMethods.DoYes()",
    Text=""
},
    No = new MessageBoxButtonConfig
{
    Handler = "Ext.net.DirectMethods.DoNo()",
    Text = ""
}
}).Show();
复制代码

 3、GridPanel添加事件

方式一:

复制代码
<SelectionModel>
    <ext:RowSelectionModel ID="RowSelectionModel1" runat="server">
        <Listeners>
            <RowSelect handler="alert(record.data.BAR_CODE);" />
        </Listeners>
    </ext:RowSelectionModel>
</SelectionModel>
复制代码

方式二:

复制代码
<Listeners>
    <DblClick Fn="OnGpRowClick" />
</Listeners>

<script type="text/javascript">
function OnGpRowClick(grid, rowIndex, e) {
    alert(GridPanel1.getSelectionModel().getSelected().data.DAY_ID);
}
</script>
复制代码

 

4、GridPanel分组展示+汇总信息

复制代码
<ext:GridPanel ID="GridPanel1" runat="server" Collapsible="false" Width="600" Height="350"
    AutoExpandColumn="OPERATE_NAME" Frame="true">
    <Store>
        <ext:Store ID="Store1" runat="server" GroupField="OPERATE_NAME">
            <Reader>
                <ext:JsonReader>
                    <Fields>
                        <ext:RecordField Name="OPERATE_NAME" />
                        <ext:RecordField Name="USAGE_AMOUNT" />
                        <ext:RecordField Name="DOCTOR_NAME" />
                        <ext:RecordField Name="DEPT_NAME" />
                        <ext:RecordField Name="USAGE_AMOUNT" />
                        <ext:RecordField Name="LISHU" />
                        <ext:RecordField Name="AVG_USAGE_AMOUNT" />
                        <ext:RecordField Name="AVG_USAGE_AMOUNT_TOP" />
                    </Fields>
                </ext:JsonReader>
            </Reader>
            <SortInfo Field="USAGE_AMOUNT" Direction="desc" />
        </ext:Store>
    </Store>
    <ColumnModel ID="ColumnModel1" runat="server">
        <Columns>
            <ext:Column ColumnID="OPERATE_NAME" Header="手术名称" DataIndex="OPERATE_NAME" Width="220" />
            <ext:GroupingSummaryColumn ColumnID="OPERATE_NAME" Header="手术名称"  DataIndex="OPERATE_NAME"
                Hideable="false" SummaryType="Count" Width="220">
                <SummaryRenderer Handler="return '总计';" />
            </ext:GroupingSummaryColumn>
            <ext:Column Header="医生" DataIndex="DOCTOR_NAME" Width="100" />
            <ext:Column Header="所在科室" DataIndex="DEPT_NAME" Width="140">
            </ext:Column>
            <ext:GroupingSummaryColumn ColumnID="LISHU" Header="例数" DataIndex="LISHU" Width="100"
                SummaryType="Sum">
                <SummaryRenderer Handler="return value+' 例';" />
                <Renderer Handler="return value+' 例';" />
            </ext:GroupingSummaryColumn>
            <ext:GroupingSummaryColumn Header="用血量" DataIndex="USAGE_AMOUNT" Width="100" SummaryType="Sum">
            <SummaryRenderer Handler="return value+' ml';" />
            <Renderer Handler="return value+' ml';" />
            </ext:GroupingSummaryColumn>
            <ext:Column Header="平均值" DataIndex="AVG_USAGE_AMOUNT" Width="100" />
            <ext:Column Header="排名" DataIndex="AVG_USAGE_AMOUNT_TOP" Width="80" />
        </Columns>
    </ColumnModel>
    <LoadMask ShowMask="true" />
    <SelectionModel>
        <ext:RowSelectionModel ID="RowSelectionModel1" runat="server" />
    </SelectionModel>
    <View>
        <ext:GroupingView ID="GroupingView1" HideGroupedColumn="true" runat="server" ForceFit="true"
            StartCollapsed="true" GroupTextTpl='<span id="ColorCode-{[values.rs[0].data.ColorCode]}"></span>{text} ({[values.rs.length]} {[values.rs.length > 1 ? "项" : "项"]})'
            EnableRowBody="true">
            <Listeners>
                <Refresh Fn="setGroupStyle" />
            </Listeners>
        </ext:GroupingView>
    </View>
    <Plugins>
        <ext:GroupingSummary ID="GroupingSummary1" runat="server">
            <Calculations>
                <ext:JFunction Name="totalCost" Handler="return v + (record.data.Estimate * record.data.Rate);" />
            </Calculations>
        </ext:GroupingSummary>
    </Plugins>
</ext:GridPanel>
复制代码

 5、GridPanel动态绑定列

复制代码
/// <summary>
/// 生成字段和列,并绑定数据源
/// </summary>
private void DynamicBindData(DataTable _rptData, GridPanel _gp, Store _store)
{
    //清除旧数据与记录集
    _store.Reader.Clear();
    _gp.SelectionModel.Clear();
    _gp.ColumnModel.Columns.Clear();
    //_store.Model.Clear();
    var _jsonReader = new JsonReader();
    foreach (DataColumn _dataColumn in _rptData.Columns)
    {
        //创建字段
        _jsonReader.Fields.Add(new RecordField(_dataColumn.ColumnName));
        //创建列
        var _column = new Column
        {
            Header = Server.HtmlEncode(_dataColumn.ColumnName),
            DataIndex = _dataColumn.ColumnName,
        };
        _gp.ColumnModel.Columns.Add(_column);
    }
    _store.Reader.Add(_jsonReader);
    _store.DataSource = _rptData.DefaultView;
    _store.DataBind();
    // 重绘【必须调用】
    _gp.Render();
}
复制代码

 

 6、后台(.cs)文件常用方法

复制代码
// GridPanel选中列后台操作
int
nCount = 0; RowSelectionModel sm = this.GridPanel1.SelectionModel.Primary as RowSelectionModel; nCount = sm.SelectedRows.Count; if (nCount == 0) { X.Msg.Alert("系统提示", "请先选择要删除的记录!").Show(); return; } foreach (SelectedRow row in sm.SelectedRows) { string selectId = row.RecordID; // 业务处理... }
复制代码

 

 




本文转自王磊的博客博客园博客,原文链接:http://www.cnblogs.com/vipstone/p/3794003.html,如需转载请自行联系原作者


目录
相关文章
|
5月前
|
API 网络安全 数据安全/隐私保护
.NET邮箱API发送邮件的方法有哪些
本文介绍了.NET开发中使用邮箱API发送邮件的方法,包括SmtpClient类发送邮件、MailMessage类创建邮件消息、设置SmtpClient属性、同步/异步发送、错误处理、发送HTML格式邮件、带附件邮件以及多人邮件。AokSend提供高触达发信服务,适用于大规模验证码发送场景。了解这些技巧有助于开发者实现高效、可靠的邮件功能。
|
5月前
|
开发框架 .NET
ASP.NET Core NET7 增加session的方法
ASP.NET Core NET7 增加session的方法
80 0
|
IDE API 开发工具
拦截|篡改|伪造.NET类库中不限于public的类和方法
本文除了回顾拦截.NET类库中的方法,实现方法参数的篡改、方法返回结果的伪造,再着重介绍.NET类库中非public类及方法如何拦截。
拦截|篡改|伪造.NET类库中不限于public的类和方法
|
2月前
|
SQL 缓存 开发框架
分享一个 .NET EF6 应用二级缓存提高性能的方法
分享一个 .NET EF6 应用二级缓存提高性能的方法
|
2月前
|
程序员 数据库
分享 2 个 .NET EF 6 只更新某些字段的方法
分享 2 个 .NET EF 6 只更新某些字段的方法
|
2月前
|
数据库
分享一个 .NET EF 6 扩展 Where 的方法
分享一个 .NET EF 6 扩展 Where 的方法
|
2月前
|
开发框架 前端开发 算法
分享 .NET EF6 查询并返回树形结构数据的 2 个思路和具体实现方法
分享 .NET EF6 查询并返回树形结构数据的 2 个思路和具体实现方法
|
2月前
|
开发框架 中间件 .NET
分享 ASP.NET Core Web Api 中间件获取 Request Body 两个方法
分享 ASP.NET Core Web Api 中间件获取 Request Body 两个方法
|
2月前
|
开发框架 .NET API
如何在 ASP.NET Core Web API 方法执行前后 “偷偷“ 作一些 “坏“ 事?初识 ActionFilterAttribute
如何在 ASP.NET Core Web API 方法执行前后 “偷偷“ 作一些 “坏“ 事?初识 ActionFilterAttribute
|
2月前
|
开发框架 前端开发 .NET
Asp.net Webapi 的 Post 方法不能把参数加到 URL 中?试试这样写
Asp.net Webapi 的 Post 方法不能把参数加到 URL 中?试试这样写