前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Ext.Net常用方法

Ext.Net常用方法

作者头像
磊哥
发布2018-05-08 16:11:01
1.1K0
发布2018-05-08 16:11:01
举报
文章被收录于专栏:王磊的博客

1、js(Ext)操作

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

2、后置类选择提示窗口

代码语言:javascript
复制
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添加事件

方式一:

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

方式二:

代码语言:javascript
复制
<Listeners>
    <DblClick Fn="OnGpRowClick" />
</Listeners>

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

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

代码语言:javascript
复制
<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动态绑定列

代码语言:javascript
复制
/// <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)文件常用方法

代码语言:javascript
复制
// 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;
    // 业务处理...
}    
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2014-06-18 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档