AspxGridView点滴

时间:2023-03-09 18:00:48
AspxGridView点滴

1:页码设置

1》: <SettingsPager Summary-Text="当前第 {0} 页 总共 {1} 页 ({2} 条记录)"></SettingsPager>

2》:<SettingsPager>
        <Summary Text="当前第 {0} 页 总共 {1} 页 ({2} 条记录)"></Summary>
     </SettingsPager>

2:表格头部标题

 <SettingsText Title="客户选择详细数据"/>  

                     <SettingsBehavior ConfirmDelete="true" AllowDragDrop="false" AllowSort="False"/> <%--AllowDragDrop:可以拖拽列的顺序;AllowSort:点击标题排序 -- %>

                     <SettingsPager Summary-Text="当前第 {0} 页 总共 {1} 页 ({2} 条记录)">
<Summary Text="当前第 {0} 页 总共 {1} 页 ({2} 条记录)"></Summary>
</SettingsPager> <SettingsEditing EditFormColumnCount="" Mode="Inline"/> <%-- <SettingsBehavior AllowFocusedRow="True" /> 点击获得焦点变色--%> <SettingsText Title="详细数据" ConfirmDelete="确定要删除吗?" CommandCancel="取消" CommandUpdate="更新"/> <SettingsPopup>
<EditForm Width="" Modal="True"/> <%--弹窗的设置--%>
</SettingsPopup> <%-- ShowTitlePanel 显示标题--%> <%--ShowFilterRow="True" 显示筛选框 如果某列不显示则设置某列属性 Settings-AllowAutoFilter="False"--%> <%--HorizontalScrollBarMode="Visible" 设置表格的下滚动条 但要配合列使用 FixedStyle="Left" 表示滚动时,该列不动--%>
<Settings HorizontalScrollBarMode="Visible" ShowTitlePanel="true" ShowFilterRow="True" /> <Styles>
<%--<CommandColumn Spacing="5px" Wrap="true" /> 数据绑定列安娜间距 如 删除。。。--%> <AlternatingRow Enabled="true" /> <%--隔行变色--%> <Footer Wrap="False"> </Footer>
</Styles>

列属性:

HeaderStyle-HorizontalAlign="Center":头部内容居中显示

CellStyle-HorizontalAlign="Center" 列中的内容居中显示

显示序号

    <dx:GridViewDataTextColumn Caption="序号"  FixedStyle="Left" VisibleIndex="" HeaderStyle-HorizontalAlign="Center" CellStyle-HorizontalAlign="Center" Width="50px">
<DataItemTemplate>
<%# Container.ItemIndex+%>
</DataItemTemplate> </dx:GridViewDataTextColumn>

5: 点击行执行事件:即行获取焦点:注意:必须绑定主键:

首先:<SettingsBehavior AllowFocusedRow="True" />

然后: <ClientSideEvents FocusedRowChanged="function(s, e) { OnGridFocusedRowChanged(); }" />

js脚本:

        function OnGridFocusedRowChanged() {
//把相关的知识介绍也写在这里 //根据当前的主键(acno)去查询当前行的acname的值 然后传给OnGetRowValues方法
gdvCkClient.GetRowValues(gdvCkClient.GetFocusedRowIndex(), 'acno;acname', OnGetRowValues); var RowIndex = gdvCkClient.GetFocusedRowIndex(); //获取当前行号
var key = gdvCkClient.GetRowKey(RowIndex); //当前行号的主键值
}
function OnGetRowValues(values) {
var val = values; //结果为 acno 和acname的值 每个值是用 逗号 , 隔开的。我们可以根据索引来取值 即 val[0]则是acno的值 val[1]则是acname的值 以此类推
}

同理: RowClick:行单击事件 RowDblClick:行双击事件

行获取焦点后能得到主键值和该行的数据,现在我想单击或者双击却获取不到。网上也没找到。但最后我结合行获取焦点事件。搞定

1.双击行前。我们肯定是先执行。行获取焦点事件。这就可以了。

2.在行获取焦点的时候。获取数据保存。然后在双击(单击)的时候取出来就可以了呢

  <ClientSideEvents FocusedRowChanged="function(s, e) { OnGridFocusedRowChanged()}" RowDblClick ="function(s, e) {OnGridDblClick(); }" />

js
var key;
//行获取焦点执行
function OnGridFocusedRowChanged() {
//去查询主键(acno)和acname的值 然后传给OnGetRowValues方法
//gdvCkClient.GetRowValues(gdvCkClient.GetFocusedRowIndex(), 'acno', OnGetRowValues); var RowIndex = gdvCkClient.GetFocusedRowIndex(); //获取当前行号
key = gdvCkClient.GetRowKey(RowIndex); //当前行号的主键值
//alert(RowIndex);
//window.close(); }
//双击行执行
function OnGridDblClick() {
alert(key);
}