FineUI 官方论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

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

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

搜索
查看: 2158|回复: 0
打印 上一主题 下一主题

通过grid的工具栏FileUpload控件导入数据库,重新加载不正常

[复制链接]
跳转到指定楼层
楼主
发表于 2013-10-18 14:35:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 stormfly 于 2013-10-18 14:48 编辑

在grid的工具栏上,加了FileUpLoad控件,上传excel,然后批量导入数据库,数据成功导入库后;重新执行BindData,以便显示导入的数据,但,报脚本错误,然后导入的数据不显示,不知道是哪里的问题。
页面:

错误:

前台代码:
<x:Grid ID="Grid1" runat="server" BoxFlex="1" ShowBorder="true" ShowHeader="false"
                EnableCheckBoxSelect="true" EnableRowNumber="true" EnableRowNumberPaging="true"
                DataKeyNames="Id,CompanyName" AllowSorting="true" SortColumnIndex="0"
                SortDirection="ASC" AllowPaging="true" IsDatabasePaging="true"
               >
                <Toolbars>
                    <x:Toolbar ID="Toolbar1" runat="server">
                        <Items>
                            <x:Button ID="btnDeleteSelected" Icon="Delete" runat="server" Text="删除选中记录">
                            </x:Button>
                            <x:ToolbarSeparator ID="ToolbarSeparator1" runat="server">
                            </x:ToolbarSeparator>

                            <x:ToolbarFill ID="ToolbarFill1" runat="server">
                            </x:ToolbarFill>
                            <x:Button ID="btnNew" runat="server" Icon="Add" EnablePostBack="false" Text="新增">
                            </x:Button>
                            <x:FileUpload ID="fuUserList" runat="server" Label="批量导入" ButtonText="批量导入" ButtonOnly="true" ButtonIcon="Anchor" AutoPostBack="true"></x:FileUpload>

                        </Items>
                    </x:Toolbar>
                </Toolbars>




后台代码:
DataTable tb = this.getDataTableFromExcel(file);
            int count = 0;
            bool flag = false;
            string msg = "";
            string userlist = "";
            using (TransactionScope scope = new TransactionScope())
            {
                foreach (DataRow item in tb.Rows)
                {
                    string companyname = item[0].ToString();
                    string username = item[1].ToString();
                    string sex = item[2].ToString();
                    string age = item[3].ToString();
                    string userid = item[4].ToString();
                    string enterdate = item[5].ToString();
                    string worktypename = item[6].ToString();
                    string worktypeid = "";
                    string companyid = "";

                    //判断工种
                    XFieldValueCollection fv_lst = new Select().From<XFieldValue>().Where(XFieldValue.VTextColumn).IsEqualTo(worktypename).And(XFieldValue.VFKeyColumn).IsEqualTo("Trades").ExecuteAsCollection<XFieldValueCollection>();
                    if (fv_lst.Count <= 0)
                    {
                        msg = string.Format("姓名:{0}的工种{1}有误!请确保数据字典里有该工种!", username, worktypename);
                        flag = false;
                        break;
                    }
                    else
                    {
                        worktypeid = fv_lst[0].VCode;
                    }

                    //获取公司名称
                    XCompanyInfoCollection ci_lst = new Select().From<XCompanyInfo>().Where(XCompanyInfo.CompanyNameColumn).IsEqualTo(companyname).ExecuteAsCollection<XCompanyInfoCollection>();
                    if (ci_lst.Count <= 0)
                    {
                        msg = string.Format("姓名:{0}的单位名称{1}有误!请确保公司单位存在!", username, worktypename);
                        flag = false;
                        break;
                    }
                    else
                    {
                        companyid = ci_lst[0].Id.ToString();
                    }

                    //判断身份证是否已存在
                    if (new Select().From<XMedicalUserInfo>().Where(XMedicalUserInfo.UserIDCardColumn).IsEqualTo(userid).GetRecordCount() > 0)
                    {
                        userlist += username+",";
                        msg = userlist+"身份证已存在!";
                        continue;
                    }
                    XMedicalUserInfo userinfo = new XMedicalUserInfo();
                    userinfo.UserCnName = username;
                    userinfo.UserSex = sex;
                    userinfo.UserAge = Convert.ToInt32(age);
                    userinfo.CompanyId = ci_lst[0].Id;
                    userinfo.EnterDate = Convert.ToDateTime( enterdate);
                    userinfo.Trades = Convert.ToInt32(worktypeid);
                    userinfo.Status = 1;
                    userinfo.UserIDCard = userid;
                    userinfo.CreateDate = DateTime.Now;
                    userinfo.Save();
                    count++;
                    flag = true;

                }


                if (flag)
                {
                    scope.Complete();
                    BindGrid();
                    Alert.Show(string.Format("数据批量导入成功!共导入{0}条记录!", count), "消息对话框", MessageBoxIcon.Information);

                }
                else
                {
                    Alert.Show(string.Format("数据批量导入失败:{0}!",msg),MessageBoxIcon.Error);
                }
            }

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-9-30 05:19 , Processed in 0.046049 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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