FineUI 官方论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

本论坛已关闭(禁止注册、发帖和回复)
请移步 三石和他的朋友们

FineUI首页 WebForms - MVC & Core - JavaScript 常见问题 - QQ群 - 十周年征文活动

FineUI(开源版) 下载源代码 - 下载空项目 - 获取ExtJS - 文档 在线示例 - 版本更新 - 捐赠作者 - 教程

升级到 ASP.NET Core 3.1,快、快、快! 全新ASP.NET Core,比WebForms还简单! 欢迎加入【三石和他的朋友们】(基础版下载)

搜索
查看: 2659|回复: 2
打印 上一主题 下一主题

grid 绑定问题

[复制链接]
跳转到指定楼层
楼主
发表于 2012-5-3 15:53:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
前台      
         <Rows>
                    <ext:FormRow ID="FormRow3" runat="server" ColumnWidths="1">
                        <Items>
                            <ext:Grid ID="grdResult" PageSize="20" ShowBorder="false" ShowHeader="false" AutoHeight="true"
                                AllowPaging="true" runat="server" EnableCheckBoxSelect="false" DataKeyNames="USERID"
                                IsDatabasePaging="true" EnableRowNumber="True"
                               >
                                <Columns>
                                    <ext:BoundField Width="150px" DataField="USERID" HeaderText="账号" />
                                    <ext:BoundField Width="150px" DataField="USERNAME" HeaderText="姓名" ExpandUnusedSpace="true" />
                                    <ext:BoundField Width="150px" DataField="DepartmentID" HeaderText="所属部门" />
                                    <ext:BoundField Width="150px" DataField="JobTitleID" HeaderText="用户职位" />
                                    <ext:BoundField Width="40px" DataField="STATUS" HeaderText="状态" />
                                    <ext:WindowField ColumnID="myWindowField" Width="40px" WindowID="UserWindow" HeaderText="编辑"
                                        Icon="TableEdit" ToolTip="编辑" DataTextFormatString="{0}" DataIFrameUrlFields="USERID"
                                        DataIFrameUrlFormatString="UserEdit.aspx?USER_ID={0}" DataWindowTitleField="USERNAME"
                                        DataWindowTitleFormatString="编辑 - {0}" />
                                    <extinkButtonField Width="40px" HeaderText="停用" CommandName="stop" Icon="Delete" ColumnID="lbfStop"
                                        ToolTip="停用"  />
                                </Columns>
                            </ext:Grid>
                        </Items>
                    </ext:FormRow>
                </Rows>

后台:
        protected void grdResult_RowDataBound(object sender, GridRowEventArgs e)
        {
            LinkButtonField lbf = grdResult.FindColumn("lbfStop") as LinkButtonField;
            
            DataRowView row = e.DataItem as DataRowView;
            if (row != null)
            {
                if (!e.Values[4].ToString().Equals("&nbsp;"))
                {
                    if (e.Values[4].ToString() == ((int)BaseEnum.UserStatus.Active).ToString())
                    {
                        lbf.Icon = Icon.Accept;
                    }
                    else
                    {
                        lbf.Icon = Icon.Delete;
                    }
                    e.Values[4] = BaseEnum.StatusList()[e.Values[4].ToString()].ToString();
                }
            }

        }
发现  LinkButtonField lbf = grdResult.FindColumn("lbfStop") as LinkButtonField;
取到的似乎是下一行的那个LinkButtonField  所以值都错位了,我该怎么解决呢?
沙发
 楼主| 发表于 2012-5-3 21:25:23 | 只看该作者
其实这个问题就是 RowDataBound 事件里 用 grdResult.FindColumn("lbfStop") as LinkButtonField 方法,取得的不是本行的 LinkButtonField  而是下一行的,难道没人遇到过?给的例子里都是写在Grid1_PreRowDataBound 事件里的
板凳
发表于 2012-5-5 16:06:47 | 只看该作者
信徒 发表于 2012-5-3 21:25
其实这个问题就是 RowDataBound 事件里 用 grdResult.FindColumn("lbfStop") as LinkButtonField 方法,取 ...

你看下示例:http://extasp.net/#/grid/grid_rowdatabound.aspx

Values数组的索引是从0开始的
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|FineUI 官方论坛 ( 皖ICP备2021006167号-1 )

GMT+8, 2024-7-1 03:00 , Processed in 0.044510 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表