IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze: Nástroj na výber konkrétnejj bunky podľa stplca a riadku

Aktivity
Avatar
Taký Mareček:24.1.2020 14:33

Zdravím, mám problém vytiahnuť stĺpec a riadok buď z MS ACESS, datagridview, MS EXCEL
To z akého zdroja by to šlo, je jedno.

programovací jazyk C# - desktop app, winForm.

textbox1 = môj stĺpec
textbox2 = môj riadok
textbox3 = konkrétna bunka

príklad:

1_ 2_ 8
1_ 9 _2
4 _3_ 2

textbox 1 si zadám číslo 2 ( druhy v poradí )
textbox 2 si zadám číslo 2 ( druhy v poradí )
textbox 3 mi dá číslo 9

riadky a stĺpce sú číselné ( znakové ) hodnoty.

Zkusil jsem: Skúšal som viacej vecí , možno to zle píšem, údajne sa to dá spraviť cez 2 parametrický ( rozmerný ) list , to ale mne nešlo. ( možno zlý zdoják )

Editováno 24.1.2020 14:36
 
Odpovědět
24.1.2020 14:33
Avatar
Taký Mareček:29.1.2020 15:42

Dobre, skúsim ešte raz

pridávam screen realneho formulára
rozhodol sa že to dám do datagrid a ten schovám

for (int c = 0; c < dataGridView1­.Rows.Count; c++)
{
int x = dataGridView1­.CurrentRow.In­dex;
int rowindex = dataGridView1­.CurrentCell.Ro­wIndex;

if (dataGridView1­.Rows[c].Cells[0]­.Value.ToStrin­g() == textBox1.Text)
{

dataGridView1­.CurrentCell = dataGridView1­.Rows[c].Cells[0];
dataGridView1­.Rows[x].Selec­ted = true;

}

if (dataGridView1­.Rows[rowindex]­.Cells[x].Valu­e.ToString() == textBox2.Text)

{
dataGridView1­.SelectedRows[ro­windex].Cells[x]­.Value.ToStrin­g();

}
textBox3.Text = dataGridView1­.Rows[x].Cells[ro­windex].Value­.ToString();

}

to je môj kód - ked zadám hodnoty tak mi posúva další riadok a dalšia bunka
nechytá mi hodnoty z textboxu 1
event - textbox leave
vie niekto ?

 
Nahoru Odpovědět
29.1.2020 15:42
Avatar
Miroslav Jurek:30.1.2020 15:37

Nie som uplne C# programator, ale skusil som to a toto z toho vyliezlo...

namespace Test_datagridview
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            //dataGridView1.ColumnCount = 3;
            dataGridView1.Columns.Add("t", "t");
            dataGridView1.Columns.Add("1", "1");
            dataGridView1.Columns.Add("2", "2");
            dataGridView1.Columns.Add("3", "3");

            var row = new string[] { "1", "1-1", "2-1","3-1" };
            dataGridView1.Rows.Add(row);
            row = new string[] { "2", "1-2", "2-2","3-2" };
            dataGridView1.Rows.Add(row);
            row = new string[] { "3", "1-3", "2-3","3-3" };
            dataGridView1.Rows.Add(row);
            row = new string[] { "4", "1-4", "2-4","3-4" };
            dataGridView1.Rows.Add(row);
        }

        private void checkDGV()
        {
            int x = 0;
            for (int c = 0; c < dataGridView1.Rows.Count - 1; c++)
            {

                if (dataGridView1.Rows[c].Cells[0].Value.ToString() == textBox1.Text)
                {
                    dataGridView1.CurrentCell = dataGridView1.Rows[c].Cells[0];
                    x = dataGridView1.CurrentRow.Index;
                    dataGridView1.Rows[x].Selected = true;
                    break;
                }
                else
                {
                    x = -1;
                }
            }

                try
                {
                    int y = dataGridView1.Columns[textBox2.Text].Index;
                    textBox3.Text = dataGridView1.Rows[x].Cells[y].Value.ToString();
                }
                catch (Exception)
                {
                    textBox3.Text = "";
                    //throw;
                }
        }

        private void textBox1_TextChanged(object sender, EventArgs e)
        {
            checkDGV();
        }

        private void textBox2_TextChanged(object sender, EventArgs e)
        {
            checkDGV();
        }
    }
}
Akceptované řešení
+20 Zkušeností
+2,50 Kč
Řešení problému
 
Nahoru Odpovědět
30.1.2020 15:37
Avatar
Odpovídá na Miroslav Jurek
Taký Mareček:1.2.2020 13:28

Funguje to dokonale!, Veľmi pekne ďakujem za odpoveď :)

 
Nahoru Odpovědět
1.2.2020 13:28
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 4 zpráv z 4.