01/10/2018, 12:35

Cập nhật dữ liệu JTable

public class bai7_1 {
	JFrame f;
	String itemradio;
	JRadioButton r1,r2;
	JTextField t1;
	Vector vdata=new Vector(),vtitle=new Vector();
	JScrollPane tableResult;
	DefaultTableModel model;
	JTable tb;
	public static void main(String[] args)
	{
		bai7_1 b=new bai7_1();
		b.go();
	}
	public void go()
	{
		 f=new JFrame();
		JPanel p1=new JPanel();
		p1.add(new JLabel("Nhap noi dung"));
		 t1=new JTextField(15);
		p1.add(t1);
		JButton tim=new JButton("Tim");tim.addActionListener(new buttonListener() );
		JButton reset=new JButton("Reset");reset.addActionListener(new buttonListener());
		JButton exit=new JButton("Exit");exit.addActionListener(new buttonListener());
		p1.add(tim);p1.add(reset);p1.add(exit);
		JPanel p2=new JPanel();
		p2.add(new JLabel("Tim kiem theo"));
		 r1=new JRadioButton("MaSo");r1.addItemListener(new radiobutListener());
		 r2=new JRadioButton("HoTen");r2.addItemListener(new radiobutListener());
		ButtonGroup r12=new ButtonGroup();
		r12.add(r1);r12.add(r2);
		p2.add(r1);p2.add(r2);
		
		f.add(p1,BorderLayout.NORTH);f.add(p2,BorderLayout.CENTER);
		model =new DefaultTableModel(vdata,vtitle);
		tb=new JTable(model);
		tableResult=new JScrollPane(tb);
		
		
		f.add(tableResult,BorderLayout.SOUTH);
		f.pack();
		f.setVisible(true);
		
	}
	public void tim()
	{
		vdata.clear();
		vtitle.clear();
		String s=t1.getText();
		String connectionUrl = "jdbc:sqlserver://localhost:1433;" +
				"databaseName=baitapjava;integratedSecurity=true;";
		try {
			Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
			Connection con=DriverManager.getConnection(connectionUrl);
			Statement sm=con.createStatement();
			String sql="Select * from bai7_1 where "+itemradio+"='"+s+"'";
			ResultSet rs=sm.executeQuery(sql);
			ResultSetMetaData rsm=rs.getMetaData();
			int cot=rsm.getColumnCount();
			for(int i=1;i<=cot;i++) {vtitle.add(rsm.getColumnLabel(i));
			System.out.print(rsm.getColumnLabel(i)+"	");
			}
			System.out.println("");
			while(rs.next())
			{
				Vector row=new Vector(cot);
				for(int i=1;i<=cot;i++) {row.add(rs.getString(i).trim());
				System.out.print(rs.getString(i).trim()+"	");
				}
				vdata.add(row);
				
			}
		
			
			model.fireTableDataChanged();
			
			
		} 
		
		catch (Exception e) {
			
			t1.setText("loi");;
		}
	}
	
	class buttonListener implements ActionListener
	{
		@Override
		public void actionPerformed(ActionEvent e) {
		//	if(e.getActionCommand()=="Tim")tim();
			//if(e.getActionCommand()=="Reset");//reset();
			//if(e.getActionCommand()=="Exit")f.dispose();
			tim();
			
		}}
	class radiobutListener implements ItemListener
	{

		@Override
		public void itemStateChanged(ItemEvent e) {
			if(r1.isSelected())itemradio="MaSo";
			if(r2.isSelected())itemradio="HoTen";
			
		}
		
	}
}

http://2.pik.vn/2017992e1e4c-79a3-41d7-8975-d2fb3b3ee1ab.png
Em không hiểu sao bảng không cập nhật dữ liệu

Bài liên quan
0