Ext.Net常用方法

简介: 1、js(Ext)操作 Ext.Msg.alert('系统提示', '未连接血站,该功能暂时不能使用。'); Ext.getCmp("id").getValue();Ext.getCmp("id").

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; // 业务处理... }

 

 

 

 

 

如果本文对你有所帮助,请打赏——1元就足够感动我:)
支付宝打赏 微信打赏
联系邮箱:intdb@qq.com
我的GitHub: https://github.com/vipstone
关注公众号:


作者: 王磊
出处: http://vipstone.cnblogs.com/
本文版权归作者和博客园共有,欢迎转载,请标明出处。

相关文章