» »

[C#] WYSIWYG table editor

[C#] WYSIWYG table editor

AmokRun ::

Ali morda kdo pozna kontrolo za .net, s katero uporabnik lahko sam nariše tabelo?
Podobno kot ima word, kjer lahko izbereš koliko vrstic in stolpcev naj ima tabela, potem pa lahko še spajaš celice.

Mitja Bonča ::

Lahko probaš z uvedbo datagridview-ja:
DataGridView dgv;
        public Form1()
        {
            InitializeComponent();
        }              

        private void textBoxStopci_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (e.KeyChar != '\b')
                e.Handled = !char.IsNumber(e.KeyChar);
        }

        private void textBoxVrstice_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (e.KeyChar != '\b')
                e.Handled = !char.IsNumber(e.KeyChar);
        }

        private void buttonNarediTabelo_Click(object sender, EventArgs e)
        {
            if (textBoxStopci.Text != String.Empty && textBoxVrstice.Text != String.Empty)
            {
                int intStolpci = Convert.ToInt32(textBoxStopci.Text);
                int intVrstive = Convert.ToInt32(textBoxVrstice.Text);

                if (dgv != null)
                    this.Controls.Remove(dgv);
                dgv = new DataGridView();
                dgv.Location = new Point(20, 100); //sam si izmisli kam boš dal kontrolo!
                dgv.ColumnHeadersVisible = false;
                dgv.RowHeadersVisible = false;
                dgv.BackgroundColor = Color.White;
                dgv.AutoSize = true;
                this.Controls.Add(dgv);

                //naredimo stolpce:
                for (int i = 0; i < intStolpci; i++)
                    dgv.Columns.Add("col" + (i + 1).ToString(), "Column " + (i + 1).ToString());
                
                //narišemo prazno tabelo:
                for (int i = 0; i < intVrstive; i++)
                {
                    dgv.Rows.Add();
                    for (int j = 0; j < intStolpci; j++)
                        dgv[j, i].Value = String.Empty;
                }

                //nastavi dgv da bodo vse celice vidne:                
                dgv.Size = new Size(dgv.Width - 30, dgv.Height - 30);
            }
        }

AmokRun ::

Ja, sem potem rešil ravno z datagridview. Edini problem je, da datagridview ne omogoča spajanja celic, zato sem si pomagal s tem.

Mitja Bonča ::

Cool, ja dgv ne pozna spajanja, zato moraš uporabiti "custom paint", da odstraniš čtre med celicami.
Tukaj imaš še nekaj pomoči:
http://msdn.microsoft.com/en-us/library...


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

[VB] datagridview

Oddelek: Programiranje
351938 (1321) korenje3
»

[c#] event, klik tipke escape

Oddelek: Programiranje
7743 (647) japol
»

c# datagridview in combox

Oddelek: Programiranje
131208 (1096) OmegaM
»

[c#]izvajanje kode

Oddelek: Programiranje
131081 (815) LeQuack
»

[C#]Textbox ki dovoli samo številke

Oddelek: Programiranje
121353 (1217) darkolord

Več podobnih tem