代码改变世界

AspxGridView点滴

  糯米粥  阅读(567)  评论(0编辑  收藏  举报

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="3" Mode="Inline"/>
            
                    <%-- <SettingsBehavior AllowFocusedRow="True" />  点击获得焦点变色--%>

                     <SettingsText Title="详细数据" ConfirmDelete="确定要删除吗?"  CommandCancel="取消" CommandUpdate="更新"/>    
            
                     <SettingsPopup>
                         <EditForm Width="600" 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="0" HeaderStyle-HorizontalAlign="Center" CellStyle-HorizontalAlign="Center" Width="50px">
                    <DataItemTemplate>
                           <%# Container.ItemIndex+1%>
                     </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);
        }
复制代码

 

编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
'
点击右上角即可分享
微信分享提示