Perić Željko
Привет,
Это мое решение вашей проблемы. Он построен как приложение windows form
в IDE SharpDevelop C# 4.0 и нуждается в netframework 4.0.
Он состоит из одной формы с одним DataGridView с четырьмя столбцами, как вы просили,
четыре текстовых поля и одна кнопка, которую нужно нажать, когда вы хотите перенести данные из текстовых полей в DataGridView.
В начале программы есть вызов для установки начальных значений DataGridView и текстовых полей.Посмотрите на код ниже.
У него есть только один обработчик событий, и это EnterValuesToDatagridView, который выполняется при нажатии кнопки (изначально это был Button1Click, но мне нравится это имя ).
Это решение не решает вопроса, Что делать, если вам нужно изменить введенные данные на вид сетки. Возможно , вам нужно другое событие, например пользователь выбирает строку heder и переносит данные обратно в текстовые поля для изменения...
Программа. cs*
/*
* Created by SharpDevelop.
* User: Perić Željko
* Date: 03.03.2012
* Time: 18:33
*
*/
using System;
using System.Windows.Forms;
namespace Insert_value_from_TextBox__to__DataGridView
{
/// <summary>
/// Class with program entry point.
/// </summary>
internal sealed class Program
{
/// <summary>
/// Program entry point.
/// </summary>
[STAThread]
private static void Main(string[] args)
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new MainForm());
}
}
}
Форму mainform.в CS*
/*
* Created by SharpDevelop.
* User: Perić Željko
* Date: 03.03.2012
* Time: 18:33
*
* Windows form application written in C# 4.0 , needs netframework 4.0
*
* Application for transfering values from text box to DataGridView table
*
*/
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Windows.Forms;
namespace Insert_value_from_TextBox__to__DataGridView
{
/// <summary>
/// Description of MainForm.
/// </summary>
public partial class MainForm : Form
{
public MainForm()
{
//
// The InitializeComponent() call is required for
// Windows Forms designer support.
//
InitializeComponent();
//
// TODO: Add constructor code after the
// InitializeComponent() call.
//
//
// DataGridView at the begining needs to have at least
// one row
// and text boxes needs its initial values
//
SetInitialValues();
}
//
// When user click on button to enter values from text boxes to
// grid
//
void EnterValuesToDatagridView(object sender, EventArgs e)
{
// TODO: Implement Button1Click
//
// Variable for storing new row number in grid
//
int Row = 0;
//
// Check whether the user has entered all the values
//
if (textBox1.Text != "" & textBox2.Text != "" &
textBox3.Text != "" & textBox4.Text != "")
{
//
// Add new row to DataGridView where the values
// are to be entered
//
dataGridView1.Rows.Add();
//
// Get Row number ,
// it is reduced by two because
// the first row number is zero, after adding
// new row to allready
// existing one.
//
Row = dataGridView1.Rows.Count - 2;
//
// Store values from text boxes to DataGridView
//
dataGridView1[0,Row].Value = textBox1.Text;
dataGridView1[1,Row].Value = textBox2.Text;
dataGridView1[2,Row].Value = textBox3.Text;
dataGridView1[3,Row].Value = textBox4.Text;
dataGridView1.Refresh();
//
// This is optional
// Clear text boxes
//
textBox1.Text = "";
textBox2.Text = "";
textBox3.Text = "";
textBox4.Text = "";
}
//
// If all text boxes are not filled in
//
else
{
MessageBox.Show("You did not entered values to all text boxes",
"Error", MessageBoxButtons.OK,MessageBoxIcon.Error);
}
}
void SetInitialValues()
{
//
// This is optional
// Set DataGridView read only property to true
// User will not be able to enter values to grid directly
//
// And allow user to delete rows
//
dataGridView1.ReadOnly = true;
dataGridView1.AllowUserToDeleteRows = true;
//
// Set DataGridView number of rows to one , this is
// necessary
//
dataGridView1.RowCount = 1;
dataGridView1.Refresh();
//
// Set initial values of text box
//
textBox1.Text = "Hemant";
textBox2.Text = "IT";
textBox3.Text = "25";
textBox4.Text = "10 rupee";
}
}
}
Майнфор.Designer. cs*
/*
* Created by SharpDevelop.
* User: PC
* Date: 03.03.2012
* Time: 18:33
*
*/
namespace Insert_value_from_TextBox__to__DataGridView
{
partial class MainForm
{
/// <summary>
/// Designer variable used to keep track of non-visual components.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Disposes resources used by the form.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing) {
if (components != null) {
components.Dispose();
}
}
base.Dispose(disposing);
}
/// <summary>
/// This method is required for Windows Forms designer support.
/// Do not change the method contents inside the source code editor. The Forms designer might
/// not be able to load this method if it was changed manually.
/// </summary>
private void InitializeComponent()
{
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle();
this.textBox1 = new System.Windows.Forms.TextBox();
this.textBox2 = new System.Windows.Forms.TextBox();
this.textBox3 = new System.Windows.Forms.TextBox();
this.textBox4 = new System.Windows.Forms.TextBox();
this.button1 = new System.Windows.Forms.Button();
this.dataGridView1 = new System.Windows.Forms.DataGridView();
this.Column1 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.Column2 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.Column3 = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.Column4 = new System.Windows.Forms.DataGridViewTextBoxColumn();
((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).BeginInit();
this.SuspendLayout();
//
// textBox1
//
this.textBox1.Location = new System.Drawing.Point(49, 357);
this.textBox1.Name = "textBox1";
this.textBox1.Size = new System.Drawing.Size(202, 26);
this.textBox1.TabIndex = 0;
//
// textBox2
//
this.textBox2.Location = new System.Drawing.Point(257, 357);
this.textBox2.Name = "textBox2";
this.textBox2.Size = new System.Drawing.Size(134, 26);
this.textBox2.TabIndex = 1;
//
// textBox3
//
this.textBox3.Location = new System.Drawing.Point(397, 357);
this.textBox3.Name = "textBox3";
this.textBox3.Size = new System.Drawing.Size(51, 26);
this.textBox3.TabIndex = 2;
//
// textBox4
//
this.textBox4.Location = new System.Drawing.Point(454, 357);
this.textBox4.Name = "textBox4";
this.textBox4.Size = new System.Drawing.Size(138, 26);
this.textBox4.TabIndex = 3;
//
// button1
//
this.button1.Location = new System.Drawing.Point(49, 400);
this.button1.Margin = new System.Windows.Forms.Padding(2);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(543, 31);
this.button1.TabIndex = 4;
this.button1.Text = "Enter values to grid";
this.button1.UseVisualStyleBackColor = true;
this.button1.Click += new System.EventHandler(this.EnterValuesToDatagridView);
//
// dataGridView1
//
this.dataGridView1.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
this.dataGridView1.CellBorderStyle = System.Windows.Forms.DataGridViewCellBorderStyle.Sunken;
dataGridViewCellStyle1.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
dataGridViewCellStyle1.BackColor = System.Drawing.SystemColors.Control;
dataGridViewCellStyle1.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
dataGridViewCellStyle1.ForeColor = System.Drawing.SystemColors.WindowText;
dataGridViewCellStyle1.SelectionBackColor = System.Drawing.SystemColors.Highlight;
dataGridViewCellStyle1.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
dataGridViewCellStyle1.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
this.dataGridView1.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle1;
this.dataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
this.dataGridView1.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
this.Column1,
this.Column2,
this.Column3,
this.Column4});
this.dataGridView1.Location = new System.Drawing.Point(8, 8);
this.dataGridView1.Margin = new System.Windows.Forms.Padding(2);
this.dataGridView1.Name = "dataGridView1";
this.dataGridView1.Size = new System.Drawing.Size(613, 328);
this.dataGridView1.TabIndex = 5;
//
// Column1
//
this.Column1.HeaderText = "Name";
this.Column1.Name = "Column1";
this.Column1.Width = 200;
//
// Column2
//
this.Column2.HeaderText = "Department";
this.Column2.Name = "Column2";
this.Column2.Width = 150;
//
// Column3
//
this.Column3.HeaderText = "Age";
this.Column3.Name = "Column3";
this.Col
Perić Željko
Программный код частично решает проблему, описанную в начале этой статьи. Можно настроить его для решения вашей проблемы, но это не рекомендуется. Лучше написать новый, основанный на ранее полученных знаниях. Попробуйте узнать что-нибудь из статей по представленным ссылкам.
Всего наилучшего,
Жельо Перич