Как се слага таблица от базата данни в Windows Forms Application?


0
Как да сложа таблица от базата данни в DataGridView control в Windows Forms Application със бутони Edit , Delete , Add за отделните редове на таблицата?
Това което направих до момента е сложих DataGridView Control във формата.
След това натиснах : View -> Server Explorer -> Data Connections -> Add New Conecction -> В прозореца който се отвори написах името на сървъра на базата данни чекнах Use Windows Authentification , избрах базата данни от списъка с бази данни и дадох ОК
След това натиснах: View -> Other Windows -> Data Sources - > Add New Data Source -> Database -> След това чекнах таблицата която искам да се визуализира в Windows Forms приложението.
Стартирам го и нищо...



Отговори



0
Здравей,
След като си добавил DataGridView-то му избери DataSource, там ще те накара пак да си избереш Connection избираш таблицата и си в играта. Поне при мен се получи!
Поздрави

от penjurov (1466 точки)


0
Направи си го програмно, нещо такова
http://pastebin.com/XZeW2nur



0
Показа ми се таблицата но не ми дава да изтривам , променям добавям. Искам да го направя визуално , не програмно.

от Junior Developer (0 точки)


0

Ако искаш да добавиш бутони на всеки ред трябва да направиш нещо такова:

DataGridViewButtonColumn buttonColumn = new DataGridViewButtonColumn();
buttonColumn.UseColumnTextForButtonValue = true;
buttonColumn.Text = "Add";
buttonColumn.Name = "Add new row";
this.dataGridView1.Columns.Add(buttonColumn);

Това ще създаде колона с бутони, ще позволи на бутоните да излиза като текст Text пропъртито, ще сложи Text пропъртито да е Add, ще сложи име на колоната и ще я добави към DataGridView контрола.

По същия начин може да си добавиш още две колони за Edit и Delete.

Ако ще слагаш такива бутони ще трябва да може и да им хващах Click евента. Това може да стане примерно така:

private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
{
    if (this.dataGridView1.Columns[e.ColumnIndex].Name == "Add new row")
    {
        // TODO: add your event
        MessageBox.Show("You did it!");
    }
}

Моя съвет е ако ще слагаш такива бутони да добавиш в инициализирането на грида и тези три реда:

this.dataGridView1.AllowUserToAddRows = false;
this.dataGridView1.AllowUserToDeleteRows = false;
this.dataGridView1.ReadOnly = true;

Това ще забрани да се добавят нови редове, да се трият и редактират съществуващите. При натискане на бутон в зависимост от бутона разрешаваш съответното действие (ако такава е логиката на приложението ти, разбира се) и преди да излезнеш от евент хендлъра отново забраняваш съответното действие.


от wnvko (3123 точки)