1、js(Ext)操作

Ext.Msg.alert('系统提示', '未连接血站,该功能暂时不能使用。');
Ext.getCmp("id").selectText();
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.Net常用方法_Ext

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








关注下面二维码,订阅更多精彩内容。

Ext.Net常用方法_ide_02