zoukankan      html  css  js  c++  java
  • 初见,Devexpress

    绥江一百http://www.sj100.net                                                  欢迎,进入绥江一百感谢点击[我的小网站,请大家多多指教相互共勉]

    1.连接数据库

     1 using System;
     2 using System.Collections.Generic;
     3 using System.Web;
     4 using System.Data.OleDb;
     5 
     6 namespace myBPB
     7 {
     8     public class myDB
     9     {
    10       OleDbConnection conn = null;
    11       public OleDbConnection getConn()
    12         {
    13             string sServer = "192.168.132.10";
    14             string sDatabase = "myBPB";
    15             string sUser = "sa";
    16             string sPassword = "12345678";
    17             //Provider=SQLOLEDB; 指的是连接数据库所用的相关数据库驱动
    18             //Data Source; 指的是服务器地址或服务器名称
    19             //Persist Security Info; 指的是是否保存安全信息,其实可以简单的理解为"在数据库连接成功后是否保存密码信息",True表示保存,False表示不保存            
    20             //Initial Catalog; 指的是要连接的数据库名称
    21             //User ID; 登录数据库的名称
    22             //Password; 登录数据库的密码
    23             String sSQL = String.Format("Provider=SQLOLEDB;Data Source={0};" +"Persist Security Info=True;User ID={2};" +"Initial Catalog={1};Password={3};",sServer, sDatabase, sUser, sPassword);//数据库连接语句
    24             try
    25             {
    26                 conn = new OleDbConnection(sSQL);
    27                 conn.Open();
    28                 return conn;
    29             }
    30             catch (System.Exception ex)
    31             {
    32                 return null;
    33             }
    34         }
    35     }
    36 }
    连接数据库

    2.填充ASPxGridView

     1 public void BindGridView()
     2         {
     3             OleDbConnection conn = new myDB().getConn();
     4             string str = "select * from 区域";
     5             OleDbDataAdapter da = new OleDbDataAdapter(str, conn);
     6             DataSet ds = new DataSet();
     7             da.Fill(ds);
     8             this.ASPxGridView1.DataSource = ds.Tables[0].DefaultView;
     9             this.ASPxGridView1.DataBind();
    10             conn.Close();
    11         }
    填充ASPxGridView

    3.布局

    控件:ASPxSplitter(分离器)

    作用:布局时多用于分割页面

    属性:Orientation(方向)= Vertical(垂直)或 Herizontal(水平)

            ASPxSplitter1.Panes[0].PaneStyle.Paddings.Padding = 0;         //第一个面板的内边距为0

            ASPxSplitter1.Panes[1].PaneStyle.Paddings.Padding = 0;         //第二个面板的内边距为0

            ASPxSplitter1.Panes[0].Size = 63;                                        //第一个面板的高度(大小)为63

            ASPxSplitter1.Panes[1].ScrollBars = ScrollBars.Auto;              //自动出现滚动条 

            ASPxSplitter1.AllowResize = false;                                       //不允许调整ASPxSplitter1

            ASPxSplitter1.FullscreenMode = true;                                   //全屏模式为true



    控件:ASPxMenu1(菜单)

    作用:制作菜单

    属性:width(宽度)=100%

            Items(菜单的选项)

            ItemAutoWidth(菜单选项宽度自动调整)=True(真)或False(假)

            AutoSeparators="RootOnly"(菜单选项之间用竖线隔开)

            ClientInstanceName="ASPxMenu1"(控件的前端名称)



    控件:表格

    作用:排版

    属性:Style—>表格—>table-layout=fixed(表格宽度为固定值)



    控件:ASPxImage

    作用:显示图标、图片

    属性:ASPxImage1.ImageUrl = "~/Images/man.gif";



    控件:ASPxGridView

    作用:显示数据

    属性:ASPxGridView1.Width = 2000;

            ASPxGridView1.SettingsBehavior.AllowFocusedRow = true;//每行都可以选择

            Columns(列)— Caption(显示名称)— FieldName(数据库连接字段)

            AutoGenerateColumns="False"//数据源自动绑定为假

            KeyFieldName="bh"//关键字为bh

            ClientInstanceName="ASPxGridView1"(控件的前端名称)

    前端运用:

    1.在每行前面添加一个ASPxCheckBox

     1         <dx:ASPxGridView ID="ASPxGridView1" runat="server">
     2            <Columns>
     3 
     4              <dx:GridViewCommandColumn Caption="操作" ShowSelectCheckbox="true" VisibleIndex="0" Width="20px">
     5              <HeaderTemplate>
     6              <dx:ASPxCheckBox ID="ASPxCheckBox1" runat="server" ToolTip="Select/Unselect all rows on the page"
     7              ClientSideEvents-CheckedChanged="function(s, e) { ASPxGridView1.SelectAllRowsOnPage(s.GetChecked()); }" />
     8              </HeaderTemplate>
     9              </dx:GridViewCommandColumn>
    10 
    11            </Columns>
    12         </dx:ASPxGridView>
    自动添加ASPxCheck.xml

    2.在第一列显示行号

     1         <dx:ASPxGridView ID="ASPxGridView1" runat="server">
     2            <Columns>
     3 
     4               <dx:GridViewDataTextColumn Caption="序号" FieldName="XH" UnboundType="Integer" VisibleIndex="0"Width="36px">
     5               <Settings AutoFilterCondition="Contains" />
     6               <CellStyle HorizontalAlign="Center">
     7               </CellStyle>
     8               </dx:GridViewDataTextColumn>
     9 
    10            </Columns>
    11         </dx:ASPxGridView>
    自动添加行号.xml
    1         protected void ASPxGridView1_CustomUnboundColumnData(object sender, DevExpress.Web.ASPxGridView.ASPxGridViewColumnDataEventArgs e)
    2         {
    3             if (e.Column.FieldName == "XH" && e.IsGetData)
    4                 e.Value = (e.ListSourceRowIndex + 1).ToString();
    5         }
    自动添加行号.后台

    3.将Columns分组

     1             <dx:GridViewBandColumn Caption="使用于">
     2                     <Columns>
     3                               <dx:GridViewDataTextColumn Caption="部门" FieldName="部门" 
     4                                    ShowInCustomizationForm="True" VisibleIndex="9" Width="150px">
     5                                    <Settings AutoFilterCondition="Contains" />
     6                                </dx:GridViewDataTextColumn>
     7                                <dx:GridViewDataTextColumn Caption="何工序或何设备" FieldName="何工序或何设备" 
     8                                    ShowInCustomizationForm="True" VisibleIndex="11" Width="200px">
     9                                    <Settings AutoFilterCondition="Contains" />
    10                                </dx:GridViewDataTextColumn>
    11                     </Columns>
    12             </dx:GridViewBandColumn>
    Columns.xml

    4.ASPxComboBox配置数据源

    1 <asp:SqlDataSource ID="SqlDataSource1_BuMen" runat="server" 
    2             ConnectionString="<%$ ConnectionStrings:ConnectionString %>" 
    3             ProviderName="<%$ ConnectionStrings:ConnectionString.ProviderName %>" 
    4             SelectCommand="SELECT DISTINCT [部门名称], [部门编码] FROM [部门设置]"></asp:SqlDataSource>
    数据源—部门.xml
     1 <dx:ASPxComboBox ID="Com_BuMen" runat="server" 
     2                                     DataSourceID="SqlDataSource1_BuMen" ValueField="部门编码" DropDownStyle="DropDownList" 
     3                                     ValueType="System.String" TextFormatString="{1}" EnableCallbackMode="true" 
     4                                     IncrementalFilteringMode="Contains" TextField="部门编码" 
     5                                     ClientInstanceName="Com_BuMen" >
     6                                     <Columns>
     7                                     <dx:ListBoxColumn FieldName="部门编码" Width="45px" />
     8                                     <dx:ListBoxColumn FieldName="部门名称" Width="100%" />
     9                                     </Columns>
    10                                 </dx:ASPxComboBox>
    部门文本框.前台

    5.增加

     1 public void Add()
     2 {
     3     String str_add= "insert into 区域(区域号,区域,备注) values('" + QuYuHao + "','" + QuYu + "','" + BeiZhu + "')";
     4     OleDbConnection conn = new myDB().getConn();
     5     OleDbCommand com = new OleDbCommand(str_add, conn);
     6     if(Convert.ToInt32(com.ExecuteNonQuery())>0)
     7     {
     8       Page.ClientScript.RegisterClientScriptBlock(typeof(QuYuEdit), "CustomEdit", "alert('添加成功!!');", true);
     9     }
    10     else
    11     {
    12      Page.ClientScript.RegisterClientScriptBlock(typeof(QuYuEdit), "CustomEdit", "alert('添加失败!!');", true);
    13     }
    14      conn.Close();
    15 }
    增加.后台

    6.删除

     1 public void Del()
     2         {
     3             String str_Del = "delete from 区域 where bh=" + 3;
     4             OleDbConnection conn = new myDB().getConn();
     5             OleDbCommand com = new OleDbCommand(str_Del, conn);
     6             int counts = com.ExecuteNonQuery();
     7             if (counts > 0)
     8             {
     9                 Page.ClientScript.RegisterClientScriptBlock(typeof(WuLiaoBianMa), "CustomEdit", "alert('删除成功!');", true);
    10             }
    11             else
    12             {
    13                 Page.ClientScript.RegisterClientScriptBlock(typeof(WuLiaoBianMa), "CustomEdit", "alert('删除失败!');", true);
    14             }
    15             conn.Close();
    16         }
    删除.后台

    7.修改

     1 public void Update()
     2         {
     3             String str_Update = "update 区域 set 区域号='" + QuYuHao + "',区域='" + QuYu + "',备注='" + BeiZhu + "' where bh=" + Convert.ToInt32(ASPxHiddenField1.Get("SBH1"));
     4             OleDbConnection conn = new myDB().getConn();
     5             OleDbCommand com = new OleDbCommand(str_Del, conn);
     6             int counts = com.ExecuteNonQuery();
     7             if (counts > 0)
     8             {
     9                 Page.ClientScript.RegisterClientScriptBlock(typeof(WuLiaoBianMa), "CustomEdit", "alert('修改成功!');", true);
    10             }
    11             else
    12             {
    13                 Page.ClientScript.RegisterClientScriptBlock(typeof(WuLiaoBianMa), "CustomEdit", "alert('修改失败!');", true);
    14             }
    15             conn.Close();
    16         }
    修改.后台

    8.查询

     1 public String Old_Name()
     2         {
     3             OleDbConnection conn = new myDB().getConn();
     4             string str = "select * from 物料编码 where bh='" + Convert.ToInt32(ASPxHiddenField1.Get("sBH")) + "'";
     5             OleDbDataAdapter da = new OleDbDataAdapter(str, conn);
     6             DataSet ds = new DataSet();
     7             da.Fill(ds);
     8             String m = ds.Tables[0].Rows[0]["物料编码"].ToString();
     9             return m;
    10         }
    查询(DataAdapter、DataSet).后台
     1 public void Lei_Xing()
     2         {
     3             OleDbConnection conn = new myDB().getConn();
     4             string str = "select * from 基础数据 where 目录='供应商类型'";
     5             OleDbCommand com = new OleDbCommand(str, conn);
     6             OleDbDataReader read = com.ExecuteReader();
     7             while (read.Read())
     8             {
     9                 Txt_LeiXing.Items.Add(read["内容"].ToString());
    10             }
    11         }
    查询后台(DataReader).后台

    9.ASPxGridView中勾选ASPxCheckBox删除数据

     1 List<object> keyValues = this.ASPxGridView1.GetSelectedFieldValues("bh");  //需要在ASPxGridView1的源设置 KeyFieldName="bh"
     2 ASPxGridView1.Selection.UnselectAll();   //清空ASPxGridView中所有选择的语句。
     3 int count = keyValues.Count;
     4 if (str == "删除")
     5    {
     6      if (count <= 0)
     7        {
     8           Page.ClientScript.RegisterClientScriptBlock(typeof(WuLiaoBianMa), "CustomEdit", "alert('请选择要删除的数据!');", true);
     9           return;
    10         }
    11      foreach (object key in keyValues)
    12         {
    13           do_del(key.ToString()); //删除
    14          }
    15           keyValues.Clear();
    16           count = keyValues.Count;
    17           BindGridView();
    18     }
    ASPxGridView中勾选ASPxCheckBox删除数据

    10.ASPxGridView过滤

    后台:ASPxGridView1.Settings.ShowFilterRow = true;
    
    前台:<Settings AutoFilterCondition="Contains" />//ASPxGridView属性—>Columns—>要实现过滤的列—>Settings—>AutoFilterCondition="Contains"

    11.ASPxGridViewExporter导出

     1                 if (Directory.Exists(Server.MapPath("tmp")) == false)
     2                 {
     3                     Directory.CreateDirectory(Server.MapPath("tmp"));
     4                 }
     5                 string path = Server.MapPath("~/tmp/");//获取完整路径
     6                 ASPxGridViewExporter1.FileName = "物料编码";
     7                 ASPxGridViewExporter1.PageHeader.Font.Size = 14;
     8                 string message1 = @"物料编码";
     9                 ASPxGridViewExporter1.PageHeader.Center = message1;
    10                 this.ASPxGridViewExporter1.WriteXlsToResponse();
    ASPxGridViewExporter导出.后台

    12.ASPxHiddenField隐藏字段

    设置前台名称:ClientInstanceName="hf1";
    后台赋初值:ASPxHiddenField1.Add("SBH",0);
    前台赋值:hf1.Set('sBH', ASPxGridView1.GetRowKey(ASPxGridView1.GetFocusedRowIndex())); //给隐藏字段赋值为ASPxGridView1当前被选中行的bh值
    后台取值:ASPxHiddenField1.Get("sBH");
    前台取值:hf1.Get('sBH')

    13.ASPxPopupControl自定义约会表单

    设置前台名称:ClientInstanceName="ASPxPopupControl1";
    前台显示ASPxPopupControl自定义表单:ASPxPopupControl1.Show();
    前台隐藏ASPxPopupControl自定义表单:ASPxPopupControl1.Hid();

    14.ASPxUploadControl上传、导入实例(导入)

    点击导入按钮,弹出下图的自定义约会表单,将选择的文件上传至固定的地址并导入ASPxGridView中

    导入对话框

     1 1.前台弹出表单:ASPxPopupControl1.Show();
     2 
     3 2.上传文件到指定的地址:
     4   String ExcelFileName = "";
     5   protected voidASPxUploadControl1_FileUploadComplete(objectsender,DevExpress.Web.ASPxUploadControl.
     6   FileUploadCompleteEventArgs e)
     7    {
     8             if (Directory.Exists(Server.MapPath("tmp")) == false)
     9             {
    10                 Directory.CreateDirectory(Server.MapPath("tmp"));
    11             }
    12             if (e.IsValid)
    13             {
    14                 ASPxUploadControl1.PostedFile.SaveAs(Server.MapPath("~/tmp/")+ ASPxUploadControl1.PostedFile.FileName);
    15                 ExcelFileName = ASPxUploadControl1.PostedFile.FileName;
    16             } 
    17    }
    18 
    19 3.导入ASPxGridView:
    20   #region 从Table导出数据DaoRu()
    21   public void DaoRu(ASPxGridView ASPxGridView1,String ExcelFileName)
    22   {
    23     try    //步骤一:先将用户选择的EXCEL文件上传至服务器端。
    24     {
    25            if (Directory.Exists(Server.MapPath("tmp")) == false)
    26            {
    27               Directory.CreateDirectory(Server.MapPath("tmp"));
    28            }
    29            string path = Server.MapPath("~/tmp/") + ExcelFileName;//获取完整路径              
    30            GetOneSheet("Sheet", path, ASPxGridView1);
    31 
    32     }
    33     catch
    34     {
    35        throw;
    36      }
    37   }
    38 
    39           //  步骤二:将上传的文件导入至DataSet
    40   public static void GetOneSheet(string sheetname, string Path, ASPxGridView ASPxGridView1)
    41   {
    42             try
    43             {
    44               string connString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Path + ";Extended Properties=Excel 8.0;";
    45               OleDbConnection con = new OleDbConnection(connString); //连接excel表
    46               con.Open();
    47               String strOutPutExcel = "select * from [" + sheetname + "$]";
    48               OleDbDataAdapter ad = new OleDbDataAdapter(strOutPutExcel, con);
    49               DataSet table = table = new DataSet();
    50               ad.Fill(table,"table1");  //填充dataset
    51               int count = table.Tables[0].Rows.Count;
    52               OleDbConnection conn = new myDB().getConn();
    53               OleDbCommand com = null;
    54               for (int i = 4; i < count; i++)
    55               {
    56 
    57                     String QuYuHao = table.Tables[0].Rows[i][1].ToString().Trim();  
    58                     String LeiBeiHao = table.Tables[0].Rows[i][2].ToString().Trim();
    59                     String str_insert = "INSERT INTO [物料编码] ( [区域号], [类别号]) VALUES (?, ?)";
    60 
    61                     OleDbParameter op1 = new OleDbParameter();
    62                     OleDbParameter op2 = new OleDbParameter();
    63                   
    64                     op1.OleDbType = OleDbType.VarChar;
    65                     op2.OleDbType = OleDbType.VarChar;
    66                     op1.Value = QuYuHao.ToString();
    67                     op2.Value = LeiBeiHao.ToString();
    68                     com = new OleDbCommand(str_insert,conn);
    69                     com.Parameters.Add(op1);
    70                     com.Parameters.Add(op2);
    71                     try
    72                     {
    73                         com.ExecuteNonQuery();
    74                     }
    75                     catch 
    76                     {
    77                         //Debug.WriteLine();
    78                     }
    79                     
    80                 }
    81                 con.Close();
    82             }
    83             catch
    84             {
    85                 throw;
    86             }
    87   }
    88         #endregion
    89 
    90 4.确定按钮单击事件中调用DaoRu():
    91 DaoRu(ASPxGridView1, ExcelFileName);
    92 BindGridView();  //重新填充ASPxGridView
    代码实现

     15.根据ASPxGridView值得变化,前端给控件赋值实例(修改)

     1 1.ClientInstanceName="ASPxGridView1"   //要赋值的前端控件也需设置前端名称
     2 2.判断是否选择了"修改"
     3 if (str == "修改")
     4 {
     5     Session.Add("Add_Or_Update", 1);
     6      Response.Redirect("~/WuLiaoBianMaEdit.aspx"); //转到下图的修改页面
     7 }
     8 
     9 3."修改"页面加载:
    10  if (!IsPostBack)
    11      {
    12            if (Convert.ToInt32(Session["Add_Or_Update"]) == 1)
    13                 {
    14                     ASPxImage1.ImageUrl = "~/Images/m5.gif";
    15                     ASPxRoundPanel1.HeaderText = "修改";
    16                     ASPxHiddenField1.Add("sBH2", 1);
    17                     ASPxHiddenField1.Add("sBH", 0);
    18                 }
    19 }
    20 
    21 4.ASPxGridView单击事件:           
    22   <ClientSideEvents FocusedRowChanged="function(s, e) { OnGridFocusedRowChanged(); }" />   
    23   <ClientSideEvents FocusedRowChanged="function(s, e) { OnGridFocusedRowChanged(); }"></ClientSideEvents>   
    24   <%--ASPxGridView的单击事件--%>
    25 
    26 5.Javascript实现ASPxGridView单击事件:
    27   <script language="javascript" type="text/javascript">
    28     function OnGridFocusedRowChanged()
    29     {
    30         ASPxGridView1.GetRowValues(ASPxGridView1.GetFocusedRowIndex(), '区域号;类别号', OnGetRowValues); //前端访问控件
    31     }
    32     function OnGetRowValues(values) 
    33     {      
    34         hf1.Set('sBH', ASPxGridView1.GetRowKey(ASPxGridView1.GetFocusedRowIndex())); //给隐藏字段赋值
    35         if (hf1.Get('sBH2') == 1) 
    36         {
    37             Com_QuYuHao.SetText(values[0]);
    38             Com_LeiBieHao.SetText(values[1]);
    39         }
    40     }
    41   </script>
    代码实现

    16.选择"区域号","类别号"后,点击"已用流水号"按钮,从数据库中读取数据加载到表单中,并弹出表单(防止刷屏问题)

     

     1 4.ClientInstanceName="grid2"
     2 2.写一个自定义函数,填充表单中的ASPxGridView:
     3    public void LiuShuiHao(String QuYuHao,String LeiBieHao)
     4         {
     5             String str_LiuShuiHao = "";
     6             if (QuYuHao != "" && LeiBieHao != "")
     7             {  
     8                str_LiuShuiHao = "select * from 物料编码 where 区域号='" + QuYuHao + "' and 类别号='" + LeiBieHao + "'";
     9             }
    10             else if (QuYuHao != "")
    11             {
    12                 str_LiuShuiHao = "select * from 物料编码 where  区域号='" + QuYuHao + "'";
    13             }
    14             else if (LeiBieHao != "")
    15             { 
    16                 str_LiuShuiHao = "select * from 物料编码 where  类别号='" + LeiBieHao + "'";
    17             }
    18             if(str_LiuShuiHao!="")
    19             {
    20             OleDbConnection conn = new myDB().getConn();
    21             OleDbDataAdapter da = new OleDbDataAdapter(str_LiuShuiHao, conn);
    22             DataSet ds = new DataSet();
    23             da.Fill(ds);
    24             this.ASPxGridView2.DataSource = ds.Tables[0].DefaultView;
    25             this.ASPxGridView2.DataBind();
    26             conn.Close();            
    27             }
    28         }
    29 
    30 3.在页面的load中调用该方法:
    31     if (Com_QuYuHao.Text != "" || Com_LeiBieHao.Text != "")
    32       {
    33                 LiuShuiHao(Com_QuYuHao.Text, Com_LeiBieHao.Text);
    34       }
    35 
    36 4.按钮的前端Click事件:
    37    ASPxPopupControl1.Show();
    38    grid2.Refresh();
    39    e.processOnServer = false;
    40 
    41 读取数据库防止—刷屏
    读数据库—防止刷屏
  • 相关阅读:
    XmlTextWriter学习笔记(转载)
    linux shell数据重定向(输入重定向与输出重定向)详细分析
    手机信息查看
    学员信息管理系统
    DOM4j 学习笔记
    Spinner 学习笔记
    java 网络编程学习笔记
    Oracle数据库远程连接方式之:不需要安装客户端软件方法!
    SQL 基础语法(创建表空间、用户、并授予权限、数据的增删改查) (学习笔记)
    北大青鸟第一单元项目 (小说管理系统)
  • 原文地址:https://www.cnblogs.com/zengqin/p/3260162.html
Copyright © 2011-2022 走看看