精华内容
下载资源
问答
  • excel下拉选择项怎么自动填表总结:(1、打开excel文档,在工作区域以外建立项目名称。也就是下接菜单的项目名称。2、点击单元格,在数据工具栏中选择数据有效性下拉列表中打开数据有效性窗口。3、在窗口有效性中选择...

    excel下拉选择项怎么自动填表

    总结:(1、打开excel文档,在工作区域以外建立项目名称。也就是下接菜单的项目名称。2、点击单元格,在数据工具栏中选择数据有效性下拉列表中打开数据有效性窗口。3、在窗口有效性中选择,允许、序列。4、点击来源后面选择按钮。5、拖动选择菜单项目,这里为了方便以后添加项目,可以在选择区域时多增加空白单元格,以便将来添加时可以直接加入下拉列表。6、确定后可以看到,当前单元格右方出现下拉菜单,可以直接点击进行数据填写。7、拖动复制格式到单元列完成所有表格中相关单元格的下拉输入。)

    演示信息:电脑品牌:联想笔记本Y470N。操作系统:win7旗舰版

    软件信息:Excel2010

    图文步骤:

    1、打开excel文档,在工作区域以外建立项目名称。也就是下接菜单的项目名称。

    417f2c9ef8b7eb9a8326229225514408.png

    2、点击单元格,在数据工具栏中选择数据有效性下拉列表中打开数据有效性窗口。

    7e9063e5b6914ad1333b721e7f6a259f.png

    3、在窗口有效性中选择,允许、序列。

    4e9ecf8dd33383fc63d75e3118623db3.png

    4、点击来源后面选择按钮。

    60a97a0dd340b8534dabe12eabec3409.png

    5、拖动选择菜单项目,这里为了方便以后添加项目,可以在选择区域时多增加空白单元格,以便将来添加时可以直接加入下拉列表。

    2ec0354a268c905e0c9f3468d2d10e91.png

    6、确定后可以看到,当前单元格右方出现下拉菜单,可以直接点击进行数据填写。

    f694a64e131d048a9c13d8bf3b61fd61.png

    7、拖动复制格式到单元列完成所有表格中相关单元格的下拉输入。

    53bd31f99eb700a937a1e59537f27381.png
    展开全文
  • 下面我们通过实例代码来一步步看怎么实现, 首先建立了两个模型类, 一个Friend, 一个FriendGroup类. 数据源用的本地的一个plist文件. plist文件中包含了FriendGroup的name,friends数组等属性. Friend.h 示例代码 #...
  • 这是一个下拉多选框 ``` List<DetectItem> list = (List)request.getAttribute("list"); if(list == null || list.size() ){ ...两个表怎么建立关联查询,把结果存放到一个集合里。)
  • 首先呢,看到这么长的标题,是不是感觉这些功能有点难以实现呢,哈哈,其实并没有想象中的那么复杂,下面就跟着笔者来一起学习一下这些功能是怎么实现的吧!  1.建立一个所有活动的父类,继承自AppcompatAvtivity...

            首先呢,看到这么长的标题,是不是感觉这些功能有点难以实现呢,哈哈,其实并没有想象中的那么复杂,下面就跟着笔者来一起学习一下这些功能是怎么实现的吧!

            1.建立一个所有活动的父类,继承自AppcompatAvtivity类,用来实现全局广播,与强制下线功能相关联:

            

    package com.example.pc_ly.dl;
    
    import android.app.Activity;
    import android.content.BroadcastReceiver;
    import android.content.Context;
    import android.content.DialogInterface;
    import android.content.Intent;
    import android.content.IntentFilter;
    import android.os.Bundle;
    import android.support.v7.app.AlertDialog;
    import android.support.v7.app.AppCompatActivity;
    
    /**
     * Created by pc_ly on 2018/10/29.
     */
    
    public class BaseActivity extends AppCompatActivity {//所有活动继承的一个类,用来实现全局广播,
        Intent aa=getIntent();
        private Focreof receiver;
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            ActivityCollector.addAvtivity(this);
    }
        protected void onResume(){
            super.onResume();
            IntentFilter intentFilter=new IntentFilter();
            intentFilter.addAction("com.example.office");
            receiver=new Focreof();
            registerReceiver(receiver,intentFilter);
        }
        protected void onPause(){
            super.onPause();
            if(receiver!=null){
                unregisterReceiver(receiver);
                receiver=null;
            }
        }
    protected void onDestroy(){
    super.onDestroy();
    ActivityCollector.removeActivity(this);}
        class Focreof extends BroadcastReceiver{//当广播成功响应时,弹出一个对话框,显示一些信息,并且之后会回到登录的界面
            public void onReceive(final Context context, final Intent intent){
           ;
                AlertDialog.Builder builder=new AlertDialog.Builder(context);
                builder.setTitle("警告");
                builder.setMessage("Dear:"+intent.getStringExtra("t")+"! You are forced to be offline. Please try to login again.");
                builder.setPositiveButton("OK",new DialogInterface.OnClickListener(){
                    public void onClick(DialogInterface dialog,int which){
                        ActivityCollector.finishAll();
                        Intent intent=new Intent(context,MainActivity.class);
                        context.startActivity(intent);
                    }
                });
                builder.show();
            }
        }
    }
    

            2.建立一个管理所有活动的类:

        

    package com.example.pc_ly.dl;
    
    import android.app.Activity;
    
    import java.util.ArrayList;
    import java.util.List;
    
    /**
     * Created by pc_ly on 2018/10/29.
     */
    
    public class ActivityCollector {//管理所有活动
        public static List<Activity> activities=new ArrayList<>();
        public static void addAvtivity(Activity activity){
            activities.add(activity);
        }
        public static void removeActivity(Activity activity){
            activities.remove(activity);
        }
        public static void finishAll(){
            for(Activity activity:activities){
                if(!activity.isFinishing()){
                    activity.finish();
                }
            }
            activities.clear();
        }
    }
    

            3.建立一个初始化数据库的类,并创建对应的表

         

    package com.example.pc_ly.dl;
    
    
            import android.content.Context;
            import android.database.sqlite.SQLiteDatabase;
            import android.database.sqlite.SQLiteOpenHelper;
            import android.widget.Toast;
    
            import java.sql.SQLClientInfoException;
    
    /**
     * Created by pc_ly on 2018/11/20.
     */
    
    public class DateBaseHelper extends SQLiteOpenHelper {
        public static final String CREATE_BOOK="create table userData ("
                + "id text, "
                +"password text)";//创建表的语句
        private Context mContext;
        public DateBaseHelper(Context context, String name, SQLiteDatabase.CursorFactory factory,int version){//初始化一个数据库
            super(context,name,factory,version);
            mContext=context;
        }
        public void onCreate(SQLiteDatabase db){
            db.execSQL(CREATE_BOOK);//执行创建表的语句
            Toast.makeText(mContext,"Create succeed",Toast.LENGTH_SHORT).show();
        }
        public  void onUpgrade(SQLiteDatabase db,int oldVersion,int newVersion){
    
        }
    }
    

       

            4.先将登录的界面通过代码写出来,这个比较简单,我就直接上代码了

            

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:orientation="vertical"
        android:id="@+id/activity_main"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
       >
        <LinearLayout
            android:orientation="horizontal"
            android:layout_width="match_parent"
            android:layout_height="60dp">
    
        <TextView
            android:layout_width="90dp"
            android:layout_height="wrap_content"
            android:layout_gravity="center_vertical"
            android:textSize="18sp"
            android:text="Account:"
            />
        <EditText
            android:id="@+id/account"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:layout_gravity="center_vertical"
            android:drawableRight="@drawable/jiantou"/>
        </LinearLayout>
        <LinearLayout
            android:orientation="horizontal"
            android:layout_width="match_parent"
            android:layout_height="60dp">
            <TextView
                android:layout_width="90dp"
                android:layout_height="wrap_content"
                android:layout_gravity="center_vertical"
                android:textSize="18sp"
                android:text="Password: "/>
            <EditText
                android:id="@+id/password"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:layout_gravity="center_vertical"
                android:inputType="textPassword"/>
        </LinearLayout>
        <LinearLayout
            android:orientation="horizontal"
            android:layout_width="match_parent"
            android:layout_height="wrap_content">
            <CheckBox
                android:id="@+id/rember_1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content" />
            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textSize="18sp"
                android:text="记住密码"/>
        </LinearLayout>
        <Button
            android:id="@+id/button_1"
            android:layout_width="match_parent"
            android:layout_height="60sp"
            android:text="Login"/>
        <Button
            android:id="@+id/zhuce_"
            android:layout_width="match_parent"
            android:layout_height="60sp"
            android:text="注册账号"/>
    
    </LinearLayout>
    

    效果大致是这个样子:

            其中的记住密码的复选框是有checkbox定义的,然后下拉箭头是一张图片,大家可以去网上下载,然后利用Drawableright属性把它添加到账号框里面去,然后这个界面就做好啦。

      5.这一步呢就是将登录界面要实现的功能的代码写出来,代码如下:

     

    package com.example.pc_ly.dl;
    
    import android.content.Intent;
    import android.content.SharedPreferences;
    import android.database.Cursor;
    import android.database.sqlite.SQLiteDatabase;
    import android.preference.Preference;
    import android.preference.PreferenceManager;
    import android.support.v7.app.AppCompatActivity;
    import android.os.Bundle;
    import android.support.v7.widget.ListPopupWindow;
    import android.view.MotionEvent;
    import android.view.View;
    import android.widget.AdapterView;
    import android.widget.ArrayAdapter;
    import android.widget.Button;
    import android.widget.CheckBox;
    import android.widget.EditText;
    import android.widget.PopupWindow;
    import android.widget.TextView;
    import android.widget.Toast;
    
    import java.util.ArrayList;
    
    public class MainActivity extends BaseActivity{
        private SharedPreferences pref;//利用sharePREfreences来保存数据
        private SharedPreferences.Editor editor;//用来保存密码的
        private DateBaseHelper dphelp;
       private ListPopupWindow listPopupWindow;
        private EditText accountEdit;
        private EditText passwordEdit;
        private Button login;
        private Button  zhuce;
        private CheckBox rember;
       private String list[];
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            dphelp=new DateBaseHelper(this,"Userss.db",null,1);//数据库的初始化
            rember=(CheckBox)findViewById(R.id.rember_1) ;//这个是复选框,用来选择是否选中密码的
            login=(Button)findViewById(R.id.button_1);
            zhuce=(Button)findViewById(R.id.zhuce_);//初始化
            //list.add("li");
            listPopupWindow=new ListPopupWindow(MainActivity.this);
            accountEdit=(EditText)findViewById(R.id.account) ;
            passwordEdit=(EditText)findViewById(R.id.password) ;
            pref=PreferenceManager.getDefaultSharedPreferences(this);
            Boolean isrember=pref.getBoolean("rember_pass",false);//初始设置记住密码为false
            DateBaseHelper database=new DateBaseHelper(this,"Userss.db",null,1);
            if(isrember){
                int username=perf.getInt("username",0)-1;
                String id=pref.getString("account"+username,"");
                String pass=pref.getString("password"+username,"");
                accountEdit.setText(id);
                passwordEdit.setText(pass);//把保存的账号和密码读取出来
                rember.setChecked(true);
            }
      zhuce.setOnClickListener(new View.OnClickListener() {
          @Override
          public void onClick(View view) {//点击注册跳到注册的页面
              Intent intent=new Intent(MainActivity.this,Zhuche.class);
              startActivity(intent);
          }
      });
    
    
            login.setOnClickListener(new View.OnClickListener(){
                public void onClick(View v){
                    accountEdit=(EditText)findViewById(R.id.account);//与相应的文本框对应起来
                    passwordEdit=(EditText)findViewById(R.id.password);
                    String userName=accountEdit.getText().toString();//获取文本框的数据
                    String passWord=passwordEdit.getText().toString();
                    if (login(userName,passWord)) {
                        Toast.makeText(MainActivity.this, "登陆成功,欢迎来到新的世界", Toast.LENGTH_SHORT).show();//成功了弹出登陆成功
                        editor=pref.edit();
                        if(rember.isChecked()){//复选框是否被选中
                            int username=pref.getInt("username",0);
                            editor.putBoolean("rember_pass",true);//把记住密码设置为true
                            editor.putString("account"+username,userName);
                            editor.putString("password"+username,passWord);//把密码和账号分别保存到account和password里面
                            editor.putInt("username",username+1);
                        }
                        else{
                            editor.clear();//清空editor保存的东西
                        }
                        editor.apply();//启用editoy
                        String data=userName;
                        Intent intent=new Intent(MainActivity.this,denglv.class);
                        intent.putExtra("ex",data);//把当前登陆成功的账号的数据传递给下一个活动,用来显示是谁登陆成功了
                        startActivity(intent);
                    }
                    else {
                        Toast.makeText(MainActivity.this, "登陆失败", Toast.LENGTH_SHORT).show();//失败,弹出登陆失败
                    }
                }});
            accountEdit.setOnTouchListener(new View.OnTouchListener() {
                @Override
                public boolean onTouch(View view, MotionEvent event) {//设置监听事件
                    final int DRAWABLE_LEFT = 0;
                    final int DRAWABLE_TOP = 1;
                    final int DRAWABLE_RIGHT = 2;
                    final int DRAWABLE_BOTTOM = 3;
                    if (event.getAction() == MotionEvent.ACTION_UP) {
                        if (event.getX() >= (accountEdit.getWidth() - accountEdit
                                .getCompoundDrawables()[DRAWABLE_RIGHT].getBounds().width())) {
         //当点击了箭头位置的时候回调用下面的函数,显示出下拉框
                            accountEdit.setCompoundDrawablesWithIntrinsicBounds(null, null, getResources().getDrawable(R.drawable.jiantou), null);
                            showListPopulWindow();
                            return true;
                        }
                    }
                    return false;
                }
    
        });
    
    
            }
        public  void showListPopulWindow(){//用来显示下拉框
                    final String acc[]=new String[pref.getInt("username",0)];//定义一个账号数组,长度为选择记住密码的登录成功的账号个数
                    final String pas[]=new String[pref.getInt("username",0)];//定义一个密码数组,长度为选择记住密码的登录成功的账号个数
                    for(int a=0;a<pref.getInt("username",0);a++){
                        acc[a]=pref.getString("account"+a,"");//初始化账号数组,把已保存的账号放到数组里面去
                        pas[a]=pref.getString("password"+a,"");//初始化密码数组,把已保存的密码放到数组里面去
                    }
            listPopupWindow = new ListPopupWindow(MainActivity.this);
            listPopupWindow.setAdapter(new ArrayAdapter<String>(this,
                    android.R.layout.simple_list_item_1, acc));//把账号的数据显示到下拉列表里面去
            listPopupWindow.setAnchorView(accountEdit);
            listPopupWindow.setModal(true);
            listPopupWindow.setOnItemClickListener(new AdapterView.OnItemClickListener() {//设置项点击监听
                @Override
                public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
                    accountEdit.setText(acc[i]);//当选中下拉框的某一个选项的时候,把选择的选项内容展示在EditText上
                   passwordEdit.setText(pas[i]);//将选中的账号的密码显示出来,显示在面板上,
                    listPopupWindow.dismiss();//如果已经选择了,隐藏起来
                }
            });
    
            listPopupWindow.show();
    
    }
        public boolean login(String username,String password) {//验证此账号密码是否正确
            SQLiteDatabase db = dphelp.getWritableDatabase();
            String sql = "select * from userData where id=? and password=?";//将登录时填的账号和密码在数据库里面进行查询,如果存在该数据,则返回true,否则返回false
            Cursor cursor = db.rawQuery(sql, new String[] {username, password});
            if (cursor.moveToFirst()) {
                cursor.close();
                return true;
            }
            return false;
        }
    
    
    }
    
    
    
    
    

     

    上面的注释比较详细,就不一一介绍啦

    6.将注册的界面通过代码写出来:

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:orientation="vertical"
        android:id="@+id/activity_zhuche"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:paddingBottom="@dimen/activity_vertical_margin"
        android:paddingLeft="@dimen/activity_horizontal_margin"
        android:paddingRight="@dimen/activity_horizontal_margin"
        android:paddingTop="@dimen/activity_vertical_margin"
        tools:context="com.example.pc_ly.dl.Zhuche">
        <LinearLayout
            android:orientation="horizontal"
            android:layout_width="match_parent"
            android:layout_height="60dp">
    
            <TextView
                android:layout_width="90dp"
                android:layout_height="wrap_content"
                android:layout_gravity="center_vertical"
                android:textSize="18sp"
                android:text="Account:"
                />
            <EditText
                android:id="@+id/account111"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:layout_gravity="center_vertical"
                android:drawableRight="@drawable/jiantou"/>
        </LinearLayout>
        <LinearLayout
            android:orientation="horizontal"
            android:layout_width="match_parent"
            android:layout_height="60dp">
            <TextView
                android:layout_width="90dp"
                android:layout_height="wrap_content"
                android:layout_gravity="center_vertical"
                android:textSize="18sp"
                android:text="Password: "/>
            <EditText
                android:id="@+id/password111"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:layout_gravity="center_vertical"
                android:inputType="textPassword"/>
        </LinearLayout>
        <Button
            android:id="@+id/button_111"
            android:layout_width="match_parent"
            android:layout_height="60sp"
            android:text="注册"/>
    </LinearLayout>
    

     

    7.将注册界面要实现的功能通过代码写出来:

    package com.example.pc_ly.dl;
    
    import android.content.ContentValues;
    import android.content.Intent;
    import android.content.SharedPreferences;
    import android.database.Cursor;
    import android.database.sqlite.SQLiteDatabase;
    import android.support.v7.app.AppCompatActivity;
    import android.os.Bundle;
    import android.util.Log;
    import android.view.View;
    import android.widget.Button;
    import android.widget.EditText;
    import android.widget.Toast;
    
    public class Zhuche extends BaseActivity {
    private  DateBaseHelper dphelper;
        private EditText a,b;
        private Button an1;
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_zhuche);
            dphelper=new DateBaseHelper(this,"Userss.db",null,1);
            an1=(Button)findViewById(R.id.button_111);
    
           an1.setOnClickListener(new View.OnClickListener() {
               @Override
               public void onClick(View view) {
                  //dphelper.getWritableDatabase();
                   a=(EditText)findViewById(R.id.account111);
                   b=(EditText)findViewById(R.id.password111) ;
                   String newname =a.getText().toString();
                   String password=b.getText().toString();
                   Log.d("Zhuche","sss");
                   if (CheckIsDataAlreadyInDBorNot(newname)) {
                       Toast.makeText(Zhuche.this,"该用户名已被注册,注册失败",Toast.LENGTH_SHORT).show();
                   }
                   else {
    
                       if (register(newname, password)) {
                           Toast.makeText(Zhuche.this, "恭喜您 注册成功,即将返回登录界面", Toast.LENGTH_SHORT).show();
                           Intent intent=new Intent(Zhuche.this,MainActivity.class);
                           startActivity(intent);
                       }}
               }
           });
        }
        //向数据库插入数据
        public boolean register(String username,String password){
            SQLiteDatabase db= dphelper.getWritableDatabase();
            /*String sql = "insert into userData(name,password) value(?,?)";
            Object obj[]={username,password};
            db.execSQL(sql,obj);*/
            ContentValues values=new ContentValues();
            values.put("id",username);
            values.put("password",password);
            db.insert("userData",null,values);
            db.close();
            //db.execSQL("insert into userData (name,password) values (?,?)",new String[]{username,password});
            return true;
        }
        //检验用户名是否已存在
        public boolean CheckIsDataAlreadyInDBorNot(String value){
            SQLiteDatabase db=dphelper.getWritableDatabase();
            String Query = "Select * from userData where id =?";
            Cursor cursor = db.rawQuery(Query,new String[] { value });
            if (cursor.getCount()>0){
                cursor.close();
                return  true;
            }
            cursor.close();
            return false;
        }
    
    }
    
    

     

    8.登录成功之后,会跳到一个新的界面,界面的布局代码如下:

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation="vertical"
        xmlns:tools="http://schemas.android.com/tools"
        android:id="@+id/activity_denglv"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
       >
        <TextView
            android:id="@+id/text_1"
    
            android:gravity="center"
            android:layout_gravity="center"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:textSize="24sp"
            android:text="HI! haha"/>
    <Button
        android:id="@+id/button_2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="强制下线"/>
    </LinearLayout>
    

     

    9.当点击按钮之后,会实现强制下线的功能,代码如下:

    package com.example.pc_ly.dl;
    
    import android.content.Intent;
    import android.support.v7.app.AppCompatActivity;
    import android.os.Bundle;
    import android.view.View;
    import android.widget.Button;
    import android.widget.TextView;
    
    public class denglv extends BaseActivity{
        private DateBaseHelper hp;
    private TextView textView;
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            Intent intent=getIntent();
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_denglv);
            Button force=(Button)findViewById(R.id.button_2);
            textView=(TextView)findViewById(R.id.text_1) ;
    
            textView.setText("Hi,"+intent.getStringExtra("ex"));//显示你的名字出来
            force.setOnClickListener(new View.OnClickListener(){
                public void onClick(View v){
                    Intent aa=getIntent();
                    String data=aa.getStringExtra("ex");
                    Intent intent=new Intent("com.example.office");
                    intent.putExtra("t",data);
                    sendBroadcast(intent);//点击按钮会强制退出,并利用intent传递数据
                }
            });
        }
    }
    

     

    然后代码差不多就是这个样子啦,最后再贴几张效果图:

     

     

     

      有啥疑问的欢迎留言哦

      

    邮箱:2321591758@qq.com

    其他博客的链接:

    Github个人网站      知乎      简书

    欢迎各位访问哦,这次就到这里啦!

    展开全文
  • 首先呢,看到这么长的标题,是不是感觉这些功能有点难以实现呢,哈哈,其实并没有想象中的那么复杂,下面就跟着笔者来一起学习一下这些功能是怎么实现的吧!1.建立一个所有活动的父类,继承自AppcompatAvtivity类,...

    首先呢,看到这么长的标题,是不是感觉这些功能有点难以实现呢,哈哈,其实并没有想象中的那么复杂,下面就跟着笔者来一起学习一下这些功能是怎么实现的吧!

    1.建立一个所有活动的父类,继承自AppcompatAvtivity类,用来实现全局广播,与强制下线功能相关联:

    package com.example.pc_ly.dl;

    import android.app.Activity;

    import android.content.BroadcastReceiver;

    import android.content.Context;

    import android.content.DialogInterface;

    import android.content.Intent;

    import android.content.IntentFilter;

    import android.os.Bundle;

    import android.support.v7.app.AlertDialog;

    import android.support.v7.app.AppCompatActivity;

    /**

    * Created by pc_ly on 2018/10/29.

    */

    public class BaseActivity extends AppCompatActivity {//所有活动继承的一个类,用来实现全局广播,

    Intent aa=getIntent();

    private Focreof receiver;

    protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    ActivityCollector.addAvtivity(this);

    }

    protected void onResume(){

    super.onResume();

    IntentFilter intentFilter=new IntentFilter();

    intentFilter.addAction("com.example.office");

    receiver=new Focreof();

    registerReceiver(receiver,intentFilter);

    }

    protected void onPause(){

    super.onPause();

    if(receiver!=null){

    unregisterReceiver(receiver);

    receiver=null;

    }

    }

    protected void onDestroy(){

    super.onDestroy();

    ActivityCollector.removeActivity(this);}

    class Focreof extends BroadcastReceiver{//当广播成功响应时,弹出一个对话框,显示一些信息,并且之后会回到登录的界面

    public void onReceive(final Context context, final Intent intent){

    ;

    AlertDialog.Builder builder=new AlertDialog.Builder(context);

    builder.setTitle("警告");

    builder.setMessage("Dear:"+intent.getStringExtra("t")+"! You are forced to be offline. Please try to login again.");

    builder.setPositiveButton("OK",new DialogInterface.OnClickListener(){

    public void onClick(DialogInterface dialog,int which){

    ActivityCollector.finishAll();

    Intent intent=new Intent(context,MainActivity.class);

    context.startActivity(intent);

    }

    });

    builder.show();

    }

    }

    }

    2.建立一个管理所有活动的类:

    package com.example.pc_ly.dl;

    import android.app.Activity;

    import java.util.ArrayList;

    import java.util.List;

    /**

    * Created by pc_ly on 2018/10/29.

    */

    public class ActivityCollector {//管理所有活动

    public static List activities=new ArrayList<>();

    public static void addAvtivity(Activity activity){

    activities.add(activity);

    }

    public static void removeActivity(Activity activity){

    activities.remove(activity);

    }

    public static void finishAll(){

    for(Activity activity:activities){

    if(!activity.isFinishing()){

    activity.finish();

    }

    }

    activities.clear();

    }

    }

    3.建立一个初始化数据库的类,并创建对应的表

    package com.example.pc_ly.dl;

    import android.content.Context;

    import android.database.sqlite.SQLiteDatabase;

    import android.database.sqlite.SQLiteOpenHelper;

    import android.widget.Toast;

    import java.sql.SQLClientInfoException;

    /**

    * Created by pc_ly on 2018/11/20.

    */

    public class DateBaseHelper extends SQLiteOpenHelper {

    public static final String CREATE_BOOK="create table userData ("

    + "id text, "

    +"password text)";//创建表的语句

    private Context mContext;

    public DateBaseHelper(Context context, String name, SQLiteDatabase.CursorFactory factory,int version){//初始化一个数据库

    super(context,name,factory,version);

    mContext=context;

    }

    public void onCreate(SQLiteDatabase db){

    db.execSQL(CREATE_BOOK);//执行创建表的语句

    Toast.makeText(mContext,"Create succeed",Toast.LENGTH_SHORT).show();

    }

    public  void onUpgrade(SQLiteDatabase db,int oldVersion,int newVersion){

    }

    }

    4.先将登录的界面通过代码写出来,这个比较简单,我就直接上代码了

    android:orientation="vertical"

    android:id="@+id/activity_main"

    android:layout_width="match_parent"

    android:layout_height="match_parent"

    >

    android:orientation="horizontal"

    android:layout_width="match_parent"

    android:layout_height="60dp">

    android:layout_width="90dp"

    android:layout_height="wrap_content"

    android:layout_gravity="center_vertical"

    android:textSize="18sp"

    android:text="Account:"

    />

    android:id="@+id/account"

    android:layout_width="0dp"

    android:layout_height="wrap_content"

    android:layout_weight="1"

    android:layout_gravity="center_vertical"

    android:drawableRight="@drawable/jiantou"/>

    android:orientation="horizontal"

    android:layout_width="match_parent"

    android:layout_height="60dp">

    android:layout_width="90dp"

    android:layout_height="wrap_content"

    android:layout_gravity="center_vertical"

    android:textSize="18sp"

    android:text="Password: "/>

    android:id="@+id/password"

    android:layout_width="0dp"

    android:layout_height="wrap_content"

    android:layout_weight="1"

    android:layout_gravity="center_vertical"

    android:inputType="textPassword"/>

    android:orientation="horizontal"

    android:layout_width="match_parent"

    android:layout_height="wrap_content">

    android:id="@+id/rember_1"

    android:layout_width="wrap_content"

    android:layout_height="wrap_content" />

    android:layout_width="wrap_content"

    android:layout_height="wrap_content"

    android:textSize="18sp"

    android:text="记住密码"/>

    android:id="@+id/button_1"

    android:layout_width="match_parent"

    android:layout_height="60sp"

    android:text="Login"/>

    android:id="@+id/zhuce_"

    android:layout_width="match_parent"

    android:layout_height="60sp"

    android:text="注册账号"/>

    效果大致是这个样子:

    abb197a9158c

    其中的记住密码的复选框是有checkbox定义的,然后下拉箭头是一张图片,大家可以去网上下载,然后利用Drawableright属性把它添加到账号框里面去,然后这个界面就做好啦。

    5.这一步呢就是将登录界面要实现的功能的代码写出来,代码如下:

    package com.example.pc_ly.dl;

    import android.content.Intent;

    import android.content.SharedPreferences;

    import android.database.Cursor;

    import android.database.sqlite.SQLiteDatabase;

    import android.preference.Preference;

    import android.preference.PreferenceManager;

    import android.support.v7.app.AppCompatActivity;

    import android.os.Bundle;

    import android.support.v7.widget.ListPopupWindow;

    import android.view.MotionEvent;

    import android.view.View;

    import android.widget.AdapterView;

    import android.widget.ArrayAdapter;

    import android.widget.Button;

    import android.widget.CheckBox;

    import android.widget.EditText;

    import android.widget.PopupWindow;

    import android.widget.TextView;

    import android.widget.Toast;

    import java.util.ArrayList;

    public class MainActivity extends BaseActivity{

    private SharedPreferences pref;//利用sharePREfreences来保存数据

    private SharedPreferences.Editor editor;//用来保存密码的

    private DateBaseHelper dphelp;

    private ListPopupWindow listPopupWindow;

    private EditText accountEdit;

    private EditText passwordEdit;

    private Button login;

    private Button  zhuce;

    private CheckBox rember;

    private String list[];

    protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    setContentView(R.layout.activity_main);

    dphelp=new DateBaseHelper(this,"Userss.db",null,1);//数据库的初始化

    rember=(CheckBox)findViewById(R.id.rember_1) ;//这个是复选框,用来选择是否选中密码的

    login=(Button)findViewById(R.id.button_1);

    zhuce=(Button)findViewById(R.id.zhuce_);//初始化

    //list.add("li");

    listPopupWindow=new ListPopupWindow(MainActivity.this);

    accountEdit=(EditText)findViewById(R.id.account) ;

    passwordEdit=(EditText)findViewById(R.id.password) ;

    pref=PreferenceManager.getDefaultSharedPreferences(this);

    Boolean isrember=pref.getBoolean("rember_pass",false);//初始设置记住密码为false

    DateBaseHelper database=new DateBaseHelper(this,"Userss.db",null,1);

    if(isrember){

    int username=perf.getInt("username",0)-1;

    String id=pref.getString("account"+username,"");

    String pass=pref.getString("password"+username,"");

    accountEdit.setText(id);

    passwordEdit.setText(pass);//把保存的账号和密码读取出来

    rember.setChecked(true);

    }

    zhuce.setOnClickListener(new View.OnClickListener() {

    @Override

    public void onClick(View view) {//点击注册跳到注册的页面

    Intent intent=new Intent(MainActivity.this,Zhuche.class);

    startActivity(intent);

    }

    });

    login.setOnClickListener(new View.OnClickListener(){

    public void onClick(View v){

    accountEdit=(EditText)findViewById(R.id.account);//与相应的文本框对应起来

    passwordEdit=(EditText)findViewById(R.id.password);

    String userName=accountEdit.getText().toString();//获取文本框的数据

    String passWord=passwordEdit.getText().toString();

    if (login(userName,passWord)) {

    Toast.makeText(MainActivity.this, "登陆成功,欢迎来到新的世界", Toast.LENGTH_SHORT).show();//成功了弹出登陆成功

    editor=pref.edit();

    if(rember.isChecked()){//复选框是否被选中

    int username=pref.getInt("username",0);

    editor.putBoolean("rember_pass",true);//把记住密码设置为true

    editor.putString("account"+username,userName);

    editor.putString("password"+username,passWord);//把密码和账号分别保存到account和password里面

    editor.putInt("username",username+1);

    }

    else{

    editor.clear();//清空editor保存的东西

    }

    editor.apply();//启用editoy

    String data=userName;

    Intent intent=new Intent(MainActivity.this,denglv.class);

    intent.putExtra("ex",data);//把当前登陆成功的账号的数据传递给下一个活动,用来显示是谁登陆成功了

    startActivity(intent);

    }

    else {

    Toast.makeText(MainActivity.this, "登陆失败", Toast.LENGTH_SHORT).show();//失败,弹出登陆失败

    }

    }});

    accountEdit.setOnTouchListener(new View.OnTouchListener() {

    @Override

    public boolean onTouch(View view, MotionEvent event) {//设置监听事件

    final int DRAWABLE_LEFT = 0;

    final int DRAWABLE_TOP = 1;

    final int DRAWABLE_RIGHT = 2;

    final int DRAWABLE_BOTTOM = 3;

    if (event.getAction() == MotionEvent.ACTION_UP) {

    if (event.getX() >= (accountEdit.getWidth() - accountEdit

    .getCompoundDrawables()[DRAWABLE_RIGHT].getBounds().width())) {

    //当点击了箭头位置的时候回调用下面的函数,显示出下拉框

    accountEdit.setCompoundDrawablesWithIntrinsicBounds(null, null, getResources().getDrawable(R.drawable.jiantou), null);

    showListPopulWindow();

    return true;

    }

    }

    return false;

    }

    });

    }

    public  void showListPopulWindow(){//用来显示下拉框

    final String acc[]=new String[pref.getInt("username",0)];//定义一个账号数组,长度为选择记住密码的登录成功的账号个数

    final String pas[]=new String[pref.getInt("username",0)];//定义一个密码数组,长度为选择记住密码的登录成功的账号个数

    for(int a=0;a

    acc[a]=pref.getString("account"+a,"");//初始化账号数组,把已保存的账号放到数组里面去

    pas[a]=pref.getString("password"+a,"");//初始化密码数组,把已保存的密码放到数组里面去

    }

    listPopupWindow = new ListPopupWindow(MainActivity.this);

    listPopupWindow.setAdapter(new ArrayAdapter(this,

    android.R.layout.simple_list_item_1, acc));//把账号的数据显示到下拉列表里面去

    listPopupWindow.setAnchorView(accountEdit);

    listPopupWindow.setModal(true);

    listPopupWindow.setOnItemClickListener(new AdapterView.OnItemClickListener() {//设置项点击监听

    @Override

    public void onItemClick(AdapterView> adapterView, View view, int i, long l) {

    accountEdit.setText(acc[i]);//当选中下拉框的某一个选项的时候,把选择的选项内容展示在EditText上

    passwordEdit.setText(pas[i]);//将选中的账号的密码显示出来,显示在面板上,

    listPopupWindow.dismiss();//如果已经选择了,隐藏起来

    }

    });

    listPopupWindow.show();

    }

    public boolean login(String username,String password) {//验证此账号密码是否正确

    SQLiteDatabase db = dphelp.getWritableDatabase();

    String sql = "select * from userData where id=? and password=?";//将登录时填的账号和密码在数据库里面进行查询,如果存在该数据,则返回true,否则返回false

    Cursor cursor = db.rawQuery(sql, new String[] {username, password});

    if (cursor.moveToFirst()) {

    cursor.close();

    return true;

    }

    return false;

    }

    }

    上面的注释比较详细,就不一一介绍啦

    6.将注册的界面通过代码写出来:

    android:orientation="vertical"

    android:id="@+id/activity_zhuche"

    android:layout_width="match_parent"

    android:layout_height="match_parent"

    android:paddingBottom="@dimen/activity_vertical_margin"

    android:paddingLeft="@dimen/activity_horizontal_margin"

    android:paddingRight="@dimen/activity_horizontal_margin"

    android:paddingTop="@dimen/activity_vertical_margin"

    tools:context="com.example.pc_ly.dl.Zhuche">

    android:orientation="horizontal"

    android:layout_width="match_parent"

    android:layout_height="60dp">

    android:layout_width="90dp"

    android:layout_height="wrap_content"

    android:layout_gravity="center_vertical"

    android:textSize="18sp"

    android:text="Account:"

    />

    android:id="@+id/account111"

    android:layout_width="0dp"

    android:layout_height="wrap_content"

    android:layout_weight="1"

    android:layout_gravity="center_vertical"

    android:drawableRight="@drawable/jiantou"/>

    android:orientation="horizontal"

    android:layout_width="match_parent"

    android:layout_height="60dp">

    android:layout_width="90dp"

    android:layout_height="wrap_content"

    android:layout_gravity="center_vertical"

    android:textSize="18sp"

    android:text="Password: "/>

    android:id="@+id/password111"

    android:layout_width="0dp"

    android:layout_height="wrap_content"

    android:layout_weight="1"

    android:layout_gravity="center_vertical"

    android:inputType="textPassword"/>

    android:id="@+id/button_111"

    android:layout_width="match_parent"

    android:layout_height="60sp"

    android:text="注册"/>

    7.将注册界面要实现的功能通过代码写出来:

    package com.example.pc_ly.dl;

    import android.content.ContentValues;

    import android.content.Intent;

    import android.content.SharedPreferences;

    import android.database.Cursor;

    import android.database.sqlite.SQLiteDatabase;

    import android.support.v7.app.AppCompatActivity;

    import android.os.Bundle;

    import android.util.Log;

    import android.view.View;

    import android.widget.Button;

    import android.widget.EditText;

    import android.widget.Toast;

    public class Zhuche extends BaseActivity {

    private  DateBaseHelper dphelper;

    private EditText a,b;

    private Button an1;

    @Override

    protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    setContentView(R.layout.activity_zhuche);

    dphelper=new DateBaseHelper(this,"Userss.db",null,1);

    an1=(Button)findViewById(R.id.button_111);

    an1.setOnClickListener(new View.OnClickListener() {

    @Override

    public void onClick(View view) {

    //dphelper.getWritableDatabase();

    a=(EditText)findViewById(R.id.account111);

    b=(EditText)findViewById(R.id.password111) ;

    String newname =a.getText().toString();

    String password=b.getText().toString();

    Log.d("Zhuche","sss");

    if (CheckIsDataAlreadyInDBorNot(newname)) {

    Toast.makeText(Zhuche.this,"该用户名已被注册,注册失败",Toast.LENGTH_SHORT).show();

    }

    else {

    if (register(newname, password)) {

    Toast.makeText(Zhuche.this, "恭喜您 注册成功,即将返回登录界面", Toast.LENGTH_SHORT).show();

    Intent intent=new Intent(Zhuche.this,MainActivity.class);

    startActivity(intent);

    }}

    }

    });

    }

    //向数据库插入数据

    public boolean register(String username,String password){

    SQLiteDatabase db= dphelper.getWritableDatabase();

    /*String sql = "insert into userData(name,password) value(?,?)";

    Object obj[]={username,password};

    db.execSQL(sql,obj);*/

    ContentValues values=new ContentValues();

    values.put("id",username);

    values.put("password",password);

    db.insert("userData",null,values);

    db.close();

    //db.execSQL("insert into userData (name,password) values (?,?)",new String[]{username,password});

    return true;

    }

    //检验用户名是否已存在

    public boolean CheckIsDataAlreadyInDBorNot(String value){

    SQLiteDatabase db=dphelper.getWritableDatabase();

    String Query = "Select * from userData where id =?";

    Cursor cursor = db.rawQuery(Query,new String[] { value });

    if (cursor.getCount()>0){

    cursor.close();

    return  true;

    }

    cursor.close();

    return false;

    }

    }

    8.登录成功之后,会跳到一个新的界面,界面的布局代码如下:

    http://schemas.android.com/apk/res/android"

    android:orientation="vertical"

    android:id="@+id/activity_denglv"

    android:layout_width="match_parent"

    android:layout_height="match_parent"

    >

    android:id="@+id/text_1"

    android:gravity="center"

    android:layout_gravity="center"

    android:layout_width="match_parent"

    android:layout_height="wrap_content"

    android:textSize="24sp"

    android:text="HI! haha"/>

    android:id="@+id/button_2"

    android:layout_width="match_parent"

    android:layout_height="wrap_content"

    android:text="强制下线"/>

    9.当点击按钮之后,会实现强制下线的功能,代码如下:

    package com.example.pc_ly.dl;

    import android.content.Intent;

    import android.support.v7.app.AppCompatActivity;

    import android.os.Bundle;

    import android.view.View;

    import android.widget.Button;

    import android.widget.TextView;

    public class denglv extends BaseActivity{

    private DateBaseHelper hp;

    private TextView textView;

    @Override

    protected void onCreate(Bundle savedInstanceState) {

    Intent intent=getIntent();

    super.onCreate(savedInstanceState);

    setContentView(R.layout.activity_denglv);

    Button force=(Button)findViewById(R.id.button_2);

    textView=(TextView)findViewById(R.id.text_1) ;

    textView.setText("Hi,"+intent.getStringExtra("ex"));//显示你的名字出来

    force.setOnClickListener(new View.OnClickListener(){

    public void onClick(View v){

    Intent aa=getIntent();

    String data=aa.getStringExtra("ex");

    Intent intent=new Intent("com.example.office");

    intent.putExtra("t",data);

    sendBroadcast(intent);//点击按钮会强制退出,并利用intent传递数据

    }

    });

    }

    }

    然后代码差不多就是这个样子啦,最后再贴几张效果图:

    abb197a9158c

    abb197a9158c

    abb197a9158c

    有啥疑问的欢迎留言哦

    其他博客的链接:

    欢迎各位访问哦,这次就到这里啦!

    展开全文
  • 在EXCEL的数据录入当中,有大量的日期输入的时候,单靠手工输入,有时也比较麻烦。有没有一个时间的选择,让日期...利用数据的有效性来建立日期的选择首先建立一个日期列表,供输入数据选择的需要,如下表建立一个需...

    在EXCEL的数据录入当中,有大量的日期输入的时候,单靠手工输入,有时也比较麻烦。有没有一个时间的选择,让日期的数据录入工作变得简单。使用VBA可以达到这一目的,但是对于像我这样没有VBA基础的,也还是比较麻烦的。下面介绍一个使用控件的方法达到这一个目的。不需要VBA的知识。下面,介绍下日期选择的两种方法。

    利用数据的有效性来建立日期的选择

    首先建立一个日期列表,供输入数据选择的需要,如下表建立一个需要输入日期的选择列表。

    3d9ed06acdcad5673f1f573e5ddb78e5.png

    完成后选择需要录入日期的单元格,点击菜单上的"数据"选项卡中的"数据工具",点击"数据验证"

    1198005a1877faa516e9a68abce6f9e2.png

    +

    在"数据验证"中的允许选择"序列",来源选择建立日期列表中的日期数据列表范围

    2fa74bdc44c08dfb5144cdc17887d53f.png

    完成后,在日期输入的列表中就会形成一个日期选择的下拉列表。供日期数据录入时的日期下拉菜单的选择。

    45bb2686e8f05ebe670fccc0899efa4a.png

    利用漂亮的日期控件来输入日期

    下面介绍实用控件来进行日期的录入,使用Excel Date Picker插件(samradapps_datepicker.xlam),可以到网上搜索下载

    把下载和解压缩后得到的.xlam文件,放到下面的文件夹。这个文件夹的位置略有不同,主要根据各自的用户文件夹而定。:

    C:甥敳獲duanzAppDataRoamingMicrosoftAddIns

    1b28fe672746c4ec691ee4349aea88d4.png

    文件拷贝后,打开Excel,选择 【 文件 -> 选项-> 加载项 】,点击页面下方的"转到",打开加载宏窗口

    abee72f89fc382e331d2c3602ed7bd59.png

    在"加载宏"的界面中,点击"浏览",选择刚才拷贝的文件,点击确定,完成相关日期插件的加载。

    faff059deceb5db347fec3ac23a42614.png

    这时我们进行日期数据录入的时候,可以点击后面的小图标,展开日历的相关选项进行日期的选择录入。让日期的数据录入变得便捷。

    7caac037035bae15246e7c9dc426e2e5.png
    展开全文
  • input下拉搜索框的实现 ...说一下,大佬的做法大概是确定一个input框的位置以后,在input下方建立一个列表。 这个列表是可以自定义样式的(等等你就知道为什么这么说了)。接着js监听器和jqery的方法,加上模...
  • 今天介绍 indirect 函数的第二种经典应用:制作多级联动下拉菜单。我用的版本是 Excel 2016,其他版本的界面可能略有不同。...依次类推,建立八个队的列表3. 按基本步骤制作队名下拉菜单,具体步骤不赘述,基础...
  • 表单的执行原理 Internet 1 2 客户端请求登录通过表单填写账户信息 服务器端验证发来的账号信息然后给出反馈 ...复选框(checkbox) 下拉列表(select) 重置按钮 (reset) 提交按钮(submit) 密码框(password) 常见的表单元
  • 今日份,“用Ajax实现”【二级联动】;需求说明;...点击零食,弹出坚果,...前台定义两个【下拉菜单】,一级下拉菜单(定义好要分的类别),这里我们就定义,服装,水果,零食。然后在去数据库中建立存储这些数据的表,...
  • 这就使他在下拉列表中的的数据被限定在数据仓库当中(data store)。在其带来丰富的优点的同时,也带来了许许多多的易发错误的来源。在本部分我会试着阐明一个带有store配置项的combobox。一:明确的建立一个Store对象...
  • 下一步就要根据我们的IP地址去找Socket,能实现这种方法的是键值对集合,用键值对集合去存下拉列表里面的IP。 //将远程连接的客户端的IP地址和Socket存入键值对集合中 Dictionary<string, Soc
  • ”列表框中选择声音事件,然后从“声音”下拉列表中选择需要的声音文件 作为声音提示。  (3)用户如果对系统提供的声音文件不满意,可以单击“浏览”按钮,弹 出浏览声音对话框。在该对话框中选定声音文件,并...
  • ExtAspNet_v2.3.2_dll

    2010-09-29 14:37:08
    -修正extjs最新版本(v3.2.2)中的一个bug,如果下拉列表中存在两个相同的Text,则SelectedValue返回值永远是第一个Text的值(feedback:ben.zhou)。 -应用补丁#6593, #6621(feedback:vbelyaev)。 +修正IE7下Grid分页...
  • 如果你使用 EditPlus 进行文本编辑,那么每次创建文本文件,编辑后保存时,尽管文件类型下拉列表中显示的是文本文件, EditPlus 还是询问你是否添加".txt"后缀,是不是很烦? 解决方法: ① 在程序目录建立一个空的...
  • 脉动论坛Ⅲ.rar

    2019-08-30 05:54:48
    3. 个人相册,会员可以在个人相册里建立自己的像簿,上传个人像片,并自选是否与他人分享。 4. 带个股上市的股票系统(含全部的前台管理和设置)。 5. 可以记录所有事件的银行系统和服务中心。 6. 仿央视“开心辞典...
  • -重新设计模拟树的下拉列表的实现,避免选中某项后的闪烁。 +2009-11-21 v2.1.5 +Tree优化。 -修正Expanded项和Checked项的状态在回发改变后不能保持的BUG。 -GetNodeById更名为FindNode,保持和...
  • asp.net知识库

    2015-06-18 08:45:45
    使用Relations建立表之间的关系并却使用PagedDataSource类对DataList进行分页 通过作业,定时同步两个数据库 SQLSERVER高级注入技巧 利用反射实现ASP.NET控件和数据实体之间的双向绑定,并且在客户端自动验证输入的...
  • excel的使用

    2012-11-25 17:06:01
    先在一单元格内填入“*”或“~”等符号,然后单击此单元格,向右拖动鼠标,选中横向若干单元格,单击“格式”菜单,选中“单元格”命令,在弹出的“单元格格式”菜单中,选择“对齐”选项卡,在水平对齐下拉列表中...
  • //get_min是一个函数,看它具体怎么实现的,应该是循环遍历了current_date_time,找到最小???? int minDiff = get_min(current_date_time); // 获得是最小的查值 // 完成命令,把距离最新一次全部修改的...
  • 首页下拉刷新:better-scroll 搜索:搜索用户与动态、使用localStorage保存历史搜索记录 安装 分别两个文件目录下安装依赖npm install,在server文件夹下node app.js,在blogPhone下npm run dev,然后打开...
  • 建立好后工程文件列表如下图。 2.新建对话框类,如下图,在新建中,选择Qt Designer Form Class。 3.选择Dialog without Buttons。 4.类名设为myDlg。 5.点击Finish 完成。注意这里已经默认将其加入到了我们刚建的...
  • vc++ 应用源码包_1

    热门讨论 2012-09-15 14:22:12
    这个程序模仿Outlook建立分类列表框。 CClockST_src.zip CClockST_demo.zip 一个简单的数字时钟程序,其中的date类派生于MFC CStatic 基类。 CIVStringSet_Demo.zip CIVStringSet_Source.zip 基于MFC和STL平台的...
  •  首页需要的数据是热门商品的信息,商品信息需要建立一个Bean对象,存储内容是商品的id、商品名称、商品单价、商品类别、商品数量、商品详细信息、商品成色、商品附带的图片地址、热门程度、发表用户的id、留言的...
  • vc++ 应用源码包_2

    热门讨论 2012-09-15 14:27:40
    这个程序模仿Outlook建立分类列表框。 CClockST_src.zip CClockST_demo.zip 一个简单的数字时钟程序,其中的date类派生于MFC CStatic 基类。 CIVStringSet_Demo.zip CIVStringSet_Source.zip 基于MFC和STL平台的...
  • vc++ 应用源码包_6

    热门讨论 2012-09-15 14:59:46
    这个程序模仿Outlook建立分类列表框。 CClockST_src.zip CClockST_demo.zip 一个简单的数字时钟程序,其中的date类派生于MFC CStatic 基类。 CIVStringSet_Demo.zip CIVStringSet_Source.zip 基于MFC和STL平台的...
  • vc++ 应用源码包_5

    热门讨论 2012-09-15 14:45:16
    这个程序模仿Outlook建立分类列表框。 CClockST_src.zip CClockST_demo.zip 一个简单的数字时钟程序,其中的date类派生于MFC CStatic 基类。 CIVStringSet_Demo.zip CIVStringSet_Source.zip 基于MFC和STL平台的...
  • vc++ 应用源码包_4

    热门讨论 2012-09-15 14:38:35
    这个程序模仿Outlook建立分类列表框。 CClockST_src.zip CClockST_demo.zip 一个简单的数字时钟程序,其中的date类派生于MFC CStatic 基类。 CIVStringSet_Demo.zip CIVStringSet_Source.zip 基于MFC和STL平台的...
  • vc++ 应用源码包_3

    热门讨论 2012-09-15 14:33:15
    这个程序模仿Outlook建立分类列表框。 CClockST_src.zip CClockST_demo.zip 一个简单的数字时钟程序,其中的date类派生于MFC CStatic 基类。 CIVStringSet_Demo.zip CIVStringSet_Source.zip 基于MFC和STL平台的...
  • MAPGIS地质制图工具

    2013-05-06 16:15:30
    B、对于属性筛选图元:在筛选图元对话框中①列表框中选择图元类型——当前点/线/区文件,再点确定;弹出表达式输入对话框②然后在字段名称下面选中一个属性字段作为筛选属性;③接着点击操作符区的运算符按钮,并且...

空空如也

空空如也

1 2
收藏数 31
精华内容 12
关键字:

怎么建立下拉列表