الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

كيفية حذف أعمدة و سطور الجدول Jtable

بدأه mohammeding في 15 سبتمبر 2009 · 15 رد · 2,711 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

وقعت اليوم في مشكل بحيث أني أردت أن أحذف أعمدة و سطور الجدول برمجيا بحيث أني أحافظ على Jtable كأساسي

dtm كما هو موضح في كود التالي بحيث أني أريد أن أمسح أعمدة و السطور من

javax.swing.table.DefaultTableModel dtm= new javax.swing.table.DefaultTableModel();

للعلم أن أقوم بإضافة الأعمدة و السطور كما يلي

table.setModel(dtm);

dtm.addColumn("Registration No");
dtm.addColumn("First Name");
dtm.addColumn("Name");
dtm.addColumn("sex");

Object obj[] = {n,a,p,s};

dtm.addRow(obj);

وبارك الله فيكم

تم تعديل هذه المشاركة بواسطة mohammeding في 15 سبتمبر 2009 في 17:44

#2
while (dtm.getRowCount() > 0) {
	((DefaultTableModel) dtm.getModel()).removeRow(0);
}

DefaultTableModel.getDataVector().removeAllElements();

لمسح كافة الاعمدة

اقتباس
DefaultTableModel.fireTableDataChanged();

لإعادة رسم الجدول بعد الحذف

أو يمكنك إستعمال الكود التالي

DefaultTableModel model =
  (DefaultTableModel)exepmletable.getModel();
model.removeRow(42);

تم تعديل هذه المشاركة بواسطة bilal2005 في 15 سبتمبر 2009 في 17:49

1
#3

بارك الله فيك أخ

ولكن هذا الكود يقوم بمسح أسطر فقط و انا اريد أن يمسح كل شئ حتى بأسماء الأعمدة

while (dtm.getRowCount() > 0) {
	((DefaultTableModel) dtm.getModel()).removeRow(0);
}
#4

وهذا مثال كامل يمكنك التعديل فيه

أعتقد ان هذا المثال كما تريد إذا كان هناك أي نقص إطرحه

import javax.swing.*;
import javax.swing.table.*;

public class RemoveRows{
  public static void main(String[] args) {
	new RemoveRows();
  }

  public RemoveRows(){
	JFrame frame = new JFrame("Inserting rows in the table!");
	JPanel panel = new JPanel();
	String data[][] = {{"bilal","100"},{"hadi","200"},{"omar","300"},
	 {"fadi","400"},{"Noor","600"}};
	String col[] = {"Name","code"};
	DefaultTableModel model = new DefaultTableModel(data,col);
	JTable table = new JTable(model);
	System.out.println("Befoure removing, number of rows: " 
		   + model.getRowCount());
	//Remove first row
	model.removeRow(0);
	System.out.println("After removing first row, number of rows: " 
		   + model.getRowCount());
	//Remove lase row
	model.removeRow(table.getRowCount()-1);
	System.out.println("After removing last row, number of rows: " 
		  + table.getRowCount());
	panel.add(table);
	frame.add(panel);
	frame.setSize(300,300);
	frame.setVisible(true);
	frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  }
}

تم تعديل هذه المشاركة بواسطة bilal2005 في 15 سبتمبر 2009 في 17:55

#5

من أجل مسح سطر من الJTable، هناك الميثود removeRow الموجودة في الكلاس DefaultTableModel وهي تنتظر الindex الذي يجب مسحه

من أجل مسح عمود، استعمل الميثود removeColumn الموجودة في الكلاس TableColumnModel

هذا مثال على الإستعمال


import java.awt.event.*;
import java.awt.*;
import javax.swing.table.*;

public class TestJTable1 {
public static void main(String[] args) {
final DefaultTableModel dtm= new DefaultTableModel();
final JTable table = new JTable();
table.setModel(dtm);

dtm.addColumn("Registration No");
dtm.addColumn("First Name");
dtm.addColumn("Name");
dtm.addColumn("sex");

dtm.addRow(new Object[]{"aaaa", "bbbb", "cccc", "dddd"});
dtm.addRow(new Object[]{"eeee", "ffff", "gggg", "hhhh"});
dtm.addRow(new Object[]{"iiii", "jjjj", "kkkk", "llll"});

JButton btnDeleteRow = new JButton("Delete row");
btnDeleteRow.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent ae)
{
dtm.removeRow(0);
}
});

JButton btnDeleteColumn = new JButton("Delete column");
btnDeleteColumn.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent ae)
{
TableColumnModel cm = table.getColumnModel();
cm.removeColumn(cm.getColumn(0));
}
});

JFrame frm = new JFrame();
frm.add(new JScrollPane(table));
frm.add(btnDeleteColumn, BorderLayout.NORTH);
frm.add(btnDeleteRow, BorderLayout.SOUTH);
frm.setSize(400, 400);
frm.setVisible(true);
}
}
 import javax.swing.*;

1
#6

بارك الله فيكم على الرد و جازاكم الله كل خير إنشا الله

لقد حلت المشكلة هذا هوا الكود لي محتاجه

TableColumnModel cm = table.getColumnModel();
				 cm.removeColumn(cm.getColumn(0));

بارك الله فيكم

1
#7

بارك الله فيكم على هذا النشاط يا إخوان .

#8

بارك الله فيكم على هذا الجهد والتواصل

أتمنى المزيد للقسم من النشاط

..

BYQ

#9

ال JTable يعتبر من اهم عقدى فى الجافا

:ohmy: :mad: :blink:

هل عندما اريد ان اضيف بيانات اليه فانى اتعامل معه كمصفوفة...؟!

و عندما اريد ان اخد بيانات يدخلها المستخدم عن طريقه اتعامل معه يضا كمصفوفة...؟!

00020309t.gif

1958_1963.gif
#10

أختي تقومي بالتعامل مع model ولا دخل له بتركيب البيانات الذي تعملين عليه

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#11

امممممممممممممممم

اوكى........ :excl:

00020309t.gif

1958_1963.gif
#12
علاء الصالحي كتب:

أختي تقومي بالتعامل مع model ولا دخل له بتركيب البيانات الذي تعملين عليه

تحياتي

طب وما هي انواع الـ models ؟

وكيفيه التعامل معاها وهكذا

بصراحه اريد حاجات كتير فى الجداول

اظنها معقده الى حد ما

يا ريت لو اجد شرحا فى ذلك

او موضوع خاص بالجدول وكل شىء عنه

Software Developer
Mahmoudkelany.com


 

#13

بكرة بالكتير يكون معايا الاجابة ان شاء الله :wub:

00020309t.gif

1958_1963.gif
#14
اسراء شلبى كتب:

بكرة بالكتير يكون معايا الاجابة ان شاء الله :wub:

وانا منتظر :P :P :P :lol: :lol:

Software Developer
Mahmoudkelany.com


 

#15

في انتظار إجابة الأستاذة إسراء :wink:

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#16
علاء الصالحي كتب:

في انتظار إجابة الأستاذة إسراء :wink:

تحياتي

كلنا منتظرين يا استاذه اسراء

باين وقعتى نفسك :lol: :lol:

يلا الله معكى

Software Developer
Mahmoudkelany.com


 

مواضيع مشابهة