Ext.net的Gridpanel数据绑定及增删改查

JS代码:

    var winAdd;
    function addwin() {
        if (winAdd == null) {
            winAdd = Ext.getCmp("window1");
        }
        Ext.getCmp("FormPanel1").getForm().reset();
        Ext.getCmp("BtnRes").setVisible(false);
        Ext.getCmp("BtnSave").setVisible(true);
        winAdd.setTitle("添加地址");
        winAdd.show();
    }

    var MyApp = {
        remove: function (grid) {
            var selModel = grid.getSelectionModel(),
            selectedRecords = selModel.getSelection(),
            data = [];
            if (selectedRecords[0] == undefined) {
                alert("请选择要删除的行!")
                return;
            }

            Ext.each(selectedRecords, function (item) {
                data.push(item.data.id);
                data.push(item.data.usercode);
            })
            Ext.Msg.confirm("提示", "是否要删除?", function (id) {
                if (id == "yes") {

                    X.DeleteAction(data,
                    {
                        success: function (response) {
                        }
                    });
                }
            });
        },
        edit: function (grid) {
            var selModel = grid.getSelectionModel();
            var selectedRecords = selModel.getSelection();
            var data = [];
            if (selectedRecords[0] == undefined) {
                alert("请选中要修改的行!")
                return;
            }
            var item = selectedRecords[0].data;
            if (winAdd == null) {
                winAdd = Ext.getCmp("window1");
            }
            Ext.getCmp("window1").setVisible(true);
            Ext.getCmp("FormPanel1").getForm().reset();
            winAdd.setTitle("修改区域");
            Ext.getCmp("BtnRes").setVisible(true);
            Ext.getCmp("BtnSave").setVisible(false);
            Ext.getCmp("hiddenid").setValue(item.id);
            Ext.getCmp("TextField_dzlx").setValue(item.dzlx);
            Ext.getCmp("TextField_dzcode").setValue(item.dzcode);
            Ext.getCmp("TextField_photolj").setValue(item.photolj);
        }
    }

前端代码:

<ext:GridPanel runat="server" ID="grid" ColumnLines="true" Region="Center">
                <TopBar>
                    <ext:Toolbar ID="Toolbar1" runat="server">
                         <Items>
                             <ext:Button ID="Btnadd" Text="新增" Icon="Add" runat="server" Width="100">
                                <Listeners>
                                    <Click Handler="addwin()"></Click>
                                </Listeners>
                             </ext:Button>

                             <ext:Button ID="BtnDelete" Text="删除" Icon="Delete" runat="server" Width="100">
                                <Listeners>
                                    <Click Handler="MyApp.remove(#{grid});"></Click>
                                </Listeners>
                             </ext:Button>

                             <ext:Button ID="BtnRevise" Text="修改" Icon="Wrench" runat="server" Width="100">
                                <Listeners>
                                    <Click Handler="MyApp.edit(#{grid});"></Click>
                                </Listeners>
                             </ext:Button>
                         </Items>
                    </ext:Toolbar>
                </TopBar>
                <%--数据绑定--%>
                <Store>
                    <ext:Store runat="server" ID="store_dztable" PageSize="30" OnReadData="store_dztable_ReadData">
                        <Model>
                            <ext:Model ID="Model1" runat="server" IDProperty="Name" >
                                <Fields>
                                    <ext:ModelField Name="id" Type="int"></ext:ModelField>
                                    <ext:ModelField Name="code" Type="int"></ext:ModelField>
                                    <ext:ModelField Name="dzlx" Type="String"></ext:ModelField>
                                    <ext:ModelField Name="dzcode" Type="String"></ext:ModelField>
                                    <ext:ModelField Name="photolj" Type="String"></ext:ModelField>
                                </Fields>
                            </ext:Model>
                        </Model>
                        <Proxy>
                            <ext:PageProxy></ext:PageProxy>
                        </Proxy>
                    </ext:Store>
                </Store>
                <%--表头--%>
                <ColumnModel>
                    <Columns>
                        <ext:Column runat="server" ID="columnID" DataIndex="id" Hidden="true"></ext:Column>
                        <ext:Column runat="server" ID="column2" Text="序号" DataIndex="code" Align="Center"></ext:Column>
                        <ext:Column runat="server" ID="column1" Width="150" Text="地址类型" DataIndex="dzlx" Align="Center"></ext:Column>
                        <ext:Column runat="server" ID="column3" Width="150" Text="地址编码" DataIndex="dzcode" Align="Center"></ext:Column>
                        <ext:Column runat="server" ID="columnSys" Width="300" Text="图像路径" DataIndex="photolj" Align="Center"></ext:Column>
                    </Columns>
                </ColumnModel>
                <%--分页--%>
                <BottomBar>
                    <ext:Toolbar ID="Toolbar2" runat="server">
                        <Items>
                            <ext:PagingToolbar ID="PagingToolbar1" runat="server" StoreID="store_dztable"></ext:PagingToolbar>
                        </Items>
                    </ext:Toolbar>
                </BottomBar>
            </ext:GridPanel>

    <ext:Window ID="window1" runat="server" Collapsible="true" Height="" Icon="Application" Title="修改模块" Width="" AutoShow="false" Hidden="true" MaskOnDisable="True" Modal="true">
       <Items>
            <ext:FormPanel ID="FormPanel1"
            runat="server"
            Width="400"
            Frame="true"
            BodyPadding="13"
            DefaultAnchor="100%">
            <Items>
                <ext:TextField ID="TextField_dzlx"
                    runat="server"
                    FieldLabel="地址类型"
                     />
                <ext:TextField ID="TextField_dzcode"
                    runat="server"
                    FieldLabel="地址编码"
                    />
                <ext:TextField ID="TextField_photolj"
                    runat="server"
                    FieldLabel="图片路径"
                    />
            </Items>
            <Buttons>
                <ext:Button ID="BtnSave" runat="server" Text="保存" Hidden="true">
                    <DirectEvents>
                        <Click OnEvent="BtnSave_Event"></Click>
                    </DirectEvents>
                </ext:Button>
                <ext:Button ID="BtnRes" runat="server" Text="保存修改" Hidden="true">
                    <DirectEvents>
                        <Click OnEvent="BtnRes_Event"></Click>
                    </DirectEvents>
                </ext:Button>
            </Buttons>
            </ext:FormPanel>
       </Items>
    </ext:Window>
    <ext:Hidden runat="server" ID="hiddenid"></ext:Hidden>    

后台代码:

绑定

        protected void store_dztable_ReadData(object sender, Ext.Net.StoreReadDataEventArgs e)
        {
            //获取位置,页面行数
            int start = e.Start;
            int limit = e.Limit;
            SqlConnection ZG = new SqlConnection();
            string strSqlConn = System.Configuration.ConfigurationManager.AppSettings["DbConnString"];
            ZG.ConnectionString = strSqlConn;

            string sql = "select * from dztable";

            try
            {
                ZG.Open();

                SqlCommand userlev = new SqlCommand();
                userlev.CommandText = sql;
                userlev.Connection = ZG;

                //对象表的实例化
                List<dztable> userInfoList = new List<dztable>();

                //临时表往对象List传值
                SqlDataReader TmTable = userlev.ExecuteReader();
                int i = 1;
                while (TmTable.Read())
                {
                    dztable userInfo = new dztable();
                    userInfo.id = (int)TmTable["id"];
                    userInfo.code = i;
                    userInfo.dzlx = (string)TmTable["dzlx"];
                    userInfo.dzcode = (string)TmTable["dzcode"];
                    userInfo.photolj = (string)TmTable["photolj"];
                    i++;
                    userInfoList.Add(userInfo);
                }

                //获得数据总数
                e.Total = userInfoList.Count;

                //grid分页
                store_dztable.DataSource = userInfoList.Skip(start).Take(limit).ToList();
                //grid数据绑定
                store_dztable.DataBind();

                ZG.Close();

            }

            catch (Exception ex)
            {
                X.MessageBox.Alert("提示", ex.Message).Show();
                return;
            }

        }

新增

        protected void BtnSave_Event(object sender,DirectEventArgs e)
        {
            SqlConnection ZG = new SqlConnection();
            string strSqlConn = System.Configuration.ConfigurationManager.AppSettings["DbConnString"];
            ZG.ConnectionString = strSqlConn;

            string sql = "insert into dztable values(‘"+TextField_dzlx.Text+"‘,‘"+TextField_dzcode.Text+"‘,‘"+TextField_photolj.Text+"‘)";

            try
            {
                ZG.Open();

                SqlCommand userlist = new SqlCommand();
                userlist.CommandText = sql;
                userlist.Connection = ZG;

                //增加数据
                userlist.ExecuteNonQuery();

                ZG.Close();
            }
            catch (Exception ex)
            {
                X.MessageBox.Alert("提示", ex.Message).Show();
                return;
            }

            window1.Close();
            X.MessageBox.Alert("提示", "保存成功").Show();
            store_dztable.Reload();
        }

删除:

        [DirectMethod]
        public object DeleteAction(string FData)
        {
            int idz = 0;
            string usercode = "";

            List<string> ids = JSON.Deserialize<List<string>>(FData);

            int i = 0;
            foreach (string id in ids)
            {
                if (i == 0)
                {
                    idz = int.Parse(id);
                }
                else
                {
                    usercode = id;
                }
                i++;
            }

            SqlConnection ZG = new SqlConnection();
            string strSqlConn = System.Configuration.ConfigurationManager.AppSettings["DbConnString"];
            ZG.ConnectionString = strSqlConn;

            string sql = "delete from dztable where id=‘" + idz + "‘";

            try
            {
                ZG.Open();

                SqlCommand userlist = new SqlCommand();
                userlist.CommandText = sql;
                userlist.Connection = ZG;

                //删除数据
                userlist.ExecuteNonQuery();

                ZG.Close();
            }
            catch (Exception ex)
            {
                X.MessageBox.Alert("提示", ex.Message).Show();
                return false;
            }

            //页面刷新
            store_dztable.Reload();
            X.MessageBox.Alert("提示", "删除成功").Show();

            return "kkk";
        }

修改:

        protected void BtnRes_Event(object sender,DirectEventArgs e)
        {
            SqlConnection ZG = new SqlConnection();
            string strSqlConn = System.Configuration.ConfigurationManager.AppSettings["DbConnString"];
            ZG.ConnectionString = strSqlConn;

            string sql = "update dztable set dzlx = ‘" + TextField_dzlx.Text + "‘,dzcode=‘" + TextField_dzcode.Text + "‘,photolj=‘" + TextField_photolj.Text + "‘ WHERE id = ‘" + hiddenid.Text + "‘";

            SqlCommand userlist = new SqlCommand();
            userlist.CommandText = sql;
            userlist.Connection = ZG;

            try
            {
                ZG.Open();

                userlist.ExecuteNonQuery();

                ZG.Close();
            }
            catch (Exception ex)
            {
                X.MessageBox.Alert("提示", ex.Message).Show();
            }

            X.MessageBox.Alert("提示", "修改成功").Show();

            store_dztable.Reload();

            window1.Close();

            return;

        }

时间: 2024-11-05 00:49:59

Ext.net的Gridpanel数据绑定及增删改查的相关文章

20150113--PDO增删改查+封装PDO类

回顾 方法重写:是因为对象的访问会先去子类的类空间找,从而形成了对父类的覆盖. 继承链:类只能单继承,但是可以通过继承链来实现多继承 特殊类:final类和抽象类 接口:interface PHP重载:当访问一个权限不够或者不存在的属性或者方法的时候,会自动触发的魔术方法. 属性重载和方法重载 对象的保存和还原:serialize和unserialize(对应的类已经在内存:如果有资源属性必须进行重新加载资源),魔术方法(__sleep和__wakeup) 对象遍历:默认只能遍历public属性

C#通过窗体应用程序操作数据库(增删改查)

为了体现面向对象的思想,我们把"增删改查"这些函数封装到一个数据库操作类里:   为了便于窗体程序与数据库之间进行数据交互,我们建一个具有数据库行数据的类,通过它方便的在窗体程序与数据库之间传输数据. 首先,建立程序的主窗体 ㈠添加数据 当点击"增加",弹出一个子窗体,通过子窗体往数据库中添加一条数据 private void button1_Click(object sender, EventArgs e) { Form5 insert= new Form5();

winform窗体(六)——DataGridView控件及通过此控件中实现增删改查

DataGridView:显示数据表,通过此控件中可以实现连接数据库,实现数据的增删改查 一.后台数据绑定:    List<xxx> list = new List<xxx>();      dataGridView1.DataSource = list;      //设置不自动生成列,此属性在属性面板中没有      dataGridView1.AutoGenerateColumns = false;      //取消加载默认选中第一行      dataGridView1

20.2015.8.12第二十二课ado.net1,2(增删改查代码)

//demo.aspx.cs登陆页面代码using System; using System.Collections.Generic; using System.Configuration; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Data.SqlClient; namespace web20150811 { public par

[Android] SQLite数据库之增删改查基础操作

    在编程中常常会遇到数据库的操作,而Android系统内置了SQLite,它是一款轻型数据库,遵守事务ACID的关系型数据库管理系统,它占用的资源非常低,可以支持Windows/Linux/Unix等主流操作系统,同一时候可以跟非常多程序语言如C#.PHP.Java等相结合.以下先回想SQL的基本语句,再讲述Android的基本操作. 一. adb shell回想SQL语句     首先,我感觉自己整个大学印象最深的几门课就包含<数据库>,所以想先回想SQL增删改查的基本语句.而在And

iOS使用sqlite3原生语法进行增删改查以及FMDB的使用

转载自:http://www.cnblogs.com/Steak/p/3802508.html 首先要导入libsqlite3.dylib并且加入头文件#import <sqlite3.h>,在进行增删改查之前还要先把数据库搞进去. 一种方法是从外面拷贝到程序里:http://www.cnblogs.com/Steak/p/3764395.html 另一种方法就是直接创建表,既然是操纵数据库,那么一定有一个数据库对象,sqlite是C库,所以需要一个C变量: 1 @interface DBHa

【ExtJs】表格控件Grid的增删改查,利用renderer让操作列actioncolumn使用文字而不是图标

在<[ExtJs]与后台数据库交互的带分页表格组件grid的查询>(点击打开链接)中介绍了Grid控件是怎么分页显示的.再加上对此控件内的数据的增加.删除.修改,就真的是大功告成了.此控件的排序,应该在后台的数据库查询语句中增加一条order by语句即可,前台的排序在分页之后,仅能对当前页进行排序,没有什么意义.下面举一个例子来说明,如果对ExtJs的表格控件Grid进行增删改查 一.基本目标 还是在数据库中有一张user表: 然后在网页中,如下图所示,通过增加.编辑.删除按钮能为这个表格控

2015-10-29 ADO.NET 第一次课 (增删改查代码)

1.登陆页面前端部分 //demo.aspx 登陆页面前端部分 <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="demo.aspx.cs" Inherits="web20150811.demo" %> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml&qu

asp.net下利用MVC模式实现Extjs表格增删改查

在网上看到有很多人写extjs下的表格控件的增删改查,但是大多数都是直接从后台读取数据,很少有跟数据库进行交互的模式. 今天就来写一个这样的例子.欢迎大家交流指正. 首先简单介绍一下MVC模式,MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写. Model(模型) 是应用程序中用于处理应用程序数据逻辑的部分.通常模型对象负责在数据库中存取数据. View(视图) 是应用程序中处理数据显示的部分.通常视图是依据模型