임 totaly 새로운 저장 I이 새 행노하우 편집 선택한 행하지만 코딩하지만 메신저 임 작업 응용 프로그램에서 : 을 배우려고 노력에 새로운 행 (텍스트 상자, DataGridView를, SQL)
를 추가하는 버튼Edit(true);
dbDocSet.DocData.AddDocDataRow(dbDocSet.DocData.NewDocDataRow());
docDataBindingSource.MoveLast();
후 나는 다른 버튼과 텍스트 상자에서 저장
Edit(false);
docDataBindingSource.EndEdit();
docDataTableAdapter.Update(dbDocSet.DocData);
dataGridView1.Refresh();
가 나는 또한 행을 편집 할 수 있습니다
Edit(true);
어떻게 행을 편집 할 수 있습니까? 편집 후 행 편집을 덮어 쓰지 않고 새 행에 저장합니까?
또는, 어쩌면 내가 이런 식으로 일을 변경 놈이야 :
대신 - newbutton 에 새 행을 추가 -에 기입 텍스트 상자를 -
이 좋아하세요 savebutton로 저장 : - 기입 텍스트 상자 에 - savebutton 새로운 행에 저장
편집 : - 행 을 선택하여 텍스트 상자를 채 웁니다 - 텍스트 상자을 변경할 515,는 - LINK - changebutton enter image description here
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
Rectangle resolutionRect = System.Windows.Forms.Screen.FromControl(this).Bounds;
if (this.Width >= resolutionRect.Width || this.Height >= resolutionRect.Height)
{
this.WindowState = FormWindowState.Maximized;
}
this.docDataTableAdapter.Fill(this.dbDocSet.DocData);
Edit(false);
}
private void Edit(bool value)
{
textBox1.Enabled = value;
textBox2.Enabled = value;
textBox3.Enabled = value;
그리고 더 textBox.Enable 값 = (143 일)
private void button1_Click(object sender, EventArgs e)
{ //-----Nytt dokument-----
try
{
Edit(true);
dbDocSet.DocData.AddDocDataRow(dbDocSet.DocData.NewDocDataRow());
docDataBindingSource.MoveLast();
textBox1.Focus();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "Message", MessageBoxButtons.OK, MessageBoxIcon.Error);
dbDocSet.DocData.RejectChanges();
}
for (int i = 0; i < dataGridView1.RowCount - 1; i++)
{
if (dataGridView1.Rows[i].Cells[0].Value.ToString() == "" || dataGridView1.Rows[i].Cells[1].Value.ToString() == "")
{
dataGridView1.Rows.RemoveAt(i);
i--;
}
}
}
private void button3_Click(object sender, EventArgs e)
{ //-----Öppna upp för att kunna ändra-----
Edit(true);
textBox1.Focus();
}
private void button4_Click(object sender, EventArgs e)
{ //-----Avbryt ifyllnad dokument-----
Edit(false);
docDataBindingSource.ResetBindings(false);
}
private void button2_Click(object sender, EventArgs e)
{ //-----Spara dokument-----
if (string.IsNullOrWhiteSpace(textBox1.Text))
{
MessageBox.Show("Dokumenttyp måste anges !", "Message", MessageBoxButtons.OK, MessageBoxIcon.Information);
textBox1.Focus();
}
else
if (string.IsNullOrWhiteSpace(textBox2.Text))
{
MessageBox.Show("Dokumentnamn måste anges !", "Message", MessageBoxButtons.OK, MessageBoxIcon.Information);
textBox2.Focus();
}
else
if (string.IsNullOrWhiteSpace(textBox3.Text))
{
MessageBox.Show("Revision för dokumentet måste anges !", "Message", MessageBoxButtons.OK, MessageBoxIcon.Information);
textBox3.Focus();
}
else
try
{
Edit(false);
docDataBindingSource.EndEdit();
docDataTableAdapter.Update(dbDocSet.DocData);
dataGridView1.Refresh();
textBox1.Focus();
MessageBox.Show("Dokument sparat med lyckat resultat !", "Message", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "Message", MessageBoxButtons.OK, MessageBoxIcon.Error);
dbDocSet.DocData.RejectChanges();
}
}
private void dataGridView1_KeyDown_1(object sender, KeyEventArgs e)
{ //-----Ta bort valt dokument-----
if (e.KeyCode == Keys.Delete)
foreach (DataGridViewCell oneCell in dataGridView1.SelectedCells)
{
if (oneCell.Selected)
if (MessageBox.Show("Är du säker på att du vill ta bort dokumentet ?", "Message", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
dataGridView1.Rows.RemoveAt(oneCell.RowIndex);
}
}
@TobiasJohansson 내가 편집 한 내 대답은 – DoLoop
이제 내가 당신을 이해하지 못하는 봐. 어떻게 보이는지 알 수 있도록 양식을 캡쳐 해주실 수 있겠습니까? 버튼 기능이 DataGridview에 새로운 행을 추가하는 것입니다. – DoLoop
@TobiasJohansson 저는 여러분이하고 싶은 것을 따라 잡고 있다고 생각합니다.하지만 잘못하고있는 것 같습니다. 'Ny' 버튼은 텍스트 박스를 활성화하기 만하면됩니다. 반면'Spara'에서는 텍스트 상자에 쓴 내용을 저장하고 NEW ROW를 추가합니다. 그리고 다른 하나는 요점을 보지 못합니다. – DoLoop