Редактирование содержимого клетки

 

#include <string.h>

#pragma once

.......

using namespace System::Drawing;

using namespace Runtime::InteropServices;

 

......

private: System::Void Form1_Load(System::Object^ sender, System::EventArgs^ e)

{

listView1->Columns->Add("Первая");

.............................

listView1->Items[1]->SubItems->Add("666");

OldRow=-1;

OldCol=-1;

char ss[15];

String ^ s =gcnew String("");

s=listView1->Items[1]->SubItems[1]->Text; // s=”666”

char* chars = // маршализация

( char*)(Marshal::StringToHGlobalAnsi(s)).ToPointer();

strcpy(ss,chars);

strcat(ss,"00");

String ^s1= gcnew String(ss); // s1=”6600”

listView1->Items[1]->SubItems[1]->Text=s1;

Marshal::FreeHGlobal(IntPtr((void*)chars));

}

 

 

 

 

2)Таблицы в Java SE.

 

Таблица располагается в JScrollPane для скроллинга.

 

Добавление/удаление колонок:

 

import javax.swing.JFrame;

import javax.swing.JScrollPane;

import javax.swing.JTable;

import javax.swing.table.DefaultTableModel;

public class lab12

{

JFrame form;

JScrollPane js; // панельнакоторойрасполагаетсятаблица

DefaultTableModel md; // АналогичноListbox!!

JTable tb; // таблица

lab12()

{

form = new JFrame();

form.setBounds (10,20,500,500);

form.setTitle ("лабораторная 12");

form.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

form.setLayout(null);

md= new DefaultTableModel();

tb= new JTable(md);

js=new JScrollPane (tb); // панельдлятаблицы

js.setBounds(0, 0, 300, 300);

form.add(js);

form.show();

// добавка 3 колонок и удалениевторая

md.addColumn("Первая");

md.addColumn("Вторая");

md.addColumn("Третья");

tb.removeColumn(tb.getColumnModel().getColumn(1));

}

 

public static void main (String args[])

{

lab12 f;

f= new lab12();

}

}

 

Добавление/ удаление занесение данных в строки:

.................................

md.addColumn("Третья");

tb.removeColumn(tb.getColumnModel().getColumn(1));

// добавление 40 пустыхстрок в таблицу

int i;

for(i=0;i<40;i++)

{

md.addRow(new Object[]{""});

}

// заполнениетрехклетоктаблицы и удалениеоднойстроки

tb.setValueAt("123",3,1);

tb.setValueAt("321",5,0);

tb.setValueAt("qwerty",7,1);

md.removeRow(5);

}

 

 

Получение/задание значения в клетке таблицы:

 

.......

tb.setValueAt("qwerty",7,1);

md.removeRow(5);

String s;

s=(String)tb.getValueAt(6,1); // s=”qwerty”

tb.setValueAt(s, 10,0);

 

 

Установка ширины колонки и выбор клетки таблицы:

 

 

tb.setValueAt(s, 10,0);

// Установкашириныколонок

tb.setAutoResizeMode(JTable.AUTO_RESIZE_OFF); // отключение автоширины

TableColumn col = tb.getColumnModel().getColumn(0);

col.setPreferredWidth(200); // ширина 1 колонки

// выборклеткитаблицы

tb.setCellSelectionEnabled(true);

ListSelectionModel se = tb.getSelectionModel();

se.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);// выбор 1 клетки

tb.changeSelection(1,0,false,false); // выбранаклетка 2 ряд, 1 колонка

 

 

Добавление прослушивания события выбор клетки таблицы:

 

tb.changeSelection(1,0,false,false); // выбранаклетка 2 ряд, 1 колонка

//добавлениепрослушиваниенамоментвыбораклетки

se.addListSelectionListener(new ListSelectionListener()

{