惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

L
LangChain Blog
博客园 - 司徒正美
美团技术团队
WordPress大学
WordPress大学
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
人人都是产品经理
人人都是产品经理
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
T
Troy Hunt's Blog
S
Schneier on Security
T
The Exploit Database - CXSecurity.com
P
Proofpoint News Feed
云风的 BLOG
云风的 BLOG
Engineering at Meta
Engineering at Meta
Cisco Talos Blog
Cisco Talos Blog
T
Tor Project blog
B
Blog
NISL@THU
NISL@THU
月光博客
月光博客
博客园 - 【当耐特】
AWS News Blog
AWS News Blog
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
腾讯CDC
L
Lohrmann on Cybersecurity
The Cloudflare Blog
L
LINUX DO - 最新话题
S
Security @ Cisco Blogs
S
Secure Thoughts
Spread Privacy
Spread Privacy
有赞技术团队
有赞技术团队
The Last Watchdog
The Last Watchdog
Project Zero
Project Zero
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
Vercel News
Vercel News
H
Hacker News: Front Page
S
SegmentFault 最新的问题
Schneier on Security
Schneier on Security
aimingoo的专栏
aimingoo的专栏
P
Privacy & Cybersecurity Law Blog
博客园 - 三生石上(FineUI控件)
Forbes - Security
Forbes - Security
C
CXSECURITY Database RSS Feed - CXSecurity.com
I
InfoQ
T
Tailwind CSS Blog
Application and Cybersecurity Blog
Application and Cybersecurity Blog
G
GRAHAM CLULEY
W
WeLiveSecurity
小众软件
小众软件
Recorded Future
Recorded Future
Cyberwarzone
Cyberwarzone
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org

博客园 - 小小飞鹰

MMM互助金融/理财源码 js 弹出窗口 防止拦截,突破阻止,保存后打开 .NET开发者必备的工具箱 NBIbatis web/winform框架 NBIbatis 微信框架 NBIbatis 框架体系说明 NBIbatis 基础框架 开源中国上一些有用的开源系统 TfS+强制删除签出锁定项 thinkphp支持大小写url地址访问,不产生下划线 sqlserver 链接 ODBC 访问 MySql ibatis + log4net 配置注意事项 【转】Asp.Net MVC及Web API框架配置会碰到的几个问题及解决方案 将关系数据库映射到业务实体 百度贴吧10亿量级LAMP架构分享 [转]ASP.NET中 WebSite 跟 WebProject 的异同 dynamics ax 2009 distinct实现及数组集合 dynamics ax 2009 字段类似的表绑定界面注意 dynamics Ax 2009 实现 union 效果
Devexpress GridView内嵌dx:ASPxGridLookup取得控件值乱跳解决方案
小小飞鹰 · 2014-03-04 · via 博客园 - 小小飞鹰

一 页面嵌入ASPxGridLookup控件

 <dx:ASPxGridView ID="gridDetail" runat="server"
                        KeyFieldName="ID"
                        OnRowInserting="gridDetail_RowInserting" >
                        <Columns>
                            <dx:GridViewCommandColumn Caption="操作" ButtonType="Image" Width="80px">
                                <HeaderTemplate>
                                    <dx:ASPxButton ID="btnDetailInsert" Image-Url="../Scripts/easyui/themes/icons/edit_Add.png"
                                        ClientInstanceName="btnDetailInsert" AutoPostBack="true" runat="server" OnClick="btnDetailInsert_Click">
                                    </dx:ASPxButton>
                                </HeaderTemplate>
                                <DeleteButton Text="删除" Visible="true">
                                    <Image ToolTip="删除" Url="../Scripts/easyui/themes/icons/no.png" />
                                </DeleteButton>
                                <UpdateButton Text="保存" Visible="true">
                                    <Image ToolTip="保存" Url="../Scripts/easyui/themes/icons/filesave.png" />
                                </UpdateButton>
                                <EditButton Text="编辑" Visible="true">
                                    <Image ToolTip="编辑" Url="../Scripts/easyui/themes/default/images/tree_file.Gif" />
                                </EditButton>
                                <CancelButton Text="取消" Visible="true">
                                    <Image ToolTip="取消" Url="../Scripts/easyui/themes/icons/back.png" />
                                </CancelButton>
                            </dx:GridViewCommandColumn>
                            <dx:GridViewDataTextColumn Caption="管理员" Width="100px" FieldName="GuideAdmin.Name"
                                VisibleIndex="1">
                                <EditItemTemplate>
                                    <dx:ASPxGridLookup ID="GridGuideAdmin" Width="100%" runat="server" IncrementalFilteringMode="StartsWith"
                                        TextFormatString="{1}" ClientInstanceName="GridGuideAdmin" OnInit="GridGuideAdmin_Init"
                                        KeyFieldName="ID">
                                        <Columns>
                                            <dx:GridViewDataTextColumn FieldName="CompanyCode" Caption="代码" />
                                            <dx:GridViewDataTextColumn FieldName="ShortName" Caption="管理员" />
                                        </Columns>
                                    </dx:ASPxGridLookup>
                                </EditItemTemplate>
                            </dx:GridViewDataTextColumn>
                        </Columns>
</dx:ASPxGridView>

二 绑定ASPxGridLookup数据,没有Order By SQ则取到的数据会乱跳(这个花了半天才调出来)
 protected void GridGuideAdmin_Init(object sender, EventArgs e)
        {
            EmployeeRule employeeRule = new EmployeeRule();
            ((ASPxGridLookup)sender).DataSource =  employeeRule.GetEmployeeDataTable();
        }
       
        public DataTable GetEmployeeDataTable()
        {
            string sql = @"select
                        PersonName as ShortName,
                        Sq as ID,ADM_EmployeeCd as CompanyCode
                        from V_Employee order by SQ"; 
            return dao.GetDataTable(sql); ;
        }
        
三、获得页面数据保存

 protected void gridDetail_RowInserting(object sender, DevExpress.Web.Data.ASPxDataInsertingEventArgs e)
{
    //判断是否包含导游数据,不包含则根据需求人数从报价中带入
    guideAssignOrderItemInfo.GuideSq = new Guid((sender as ASPxGridView).GetMasterRowKeyValue().ToString());
            guideAssignOrderItemInfo.GuideAdmin.ID = Guid.Parse(GetColumnLookUpValue(gridDetail, "GuideAdmin.Name", "GridGuideAdmin"));
    this.SetDetailParameter(sender as ASPxGridView, e.NewValues);

    this.guideAssignOrderItemInfoRule.Add(guideAssignOrderItemInfo);
    e.Cancel = true;
    (sender as ASPxGridView).CancelEdit();
    this.grid.Focus();
}


public string GetColumnLookUpValue(ASPxGridView grv, string strColumn, string strControlFieldName)
{//从下拉框得到Sq值
    ASPxGridLookup control = (ASPxGridLookup)grv.FindEditRowCellTemplateControl((GridViewDataColumn)grv.Columns[strColumn], strControlFieldName);
    if (control != null && control.Value != null)
    {
        return control.Value.ToString();
    }
    return Guid.Empty.ToString();
}