PDA

View Full Version : مشکل در اضافه کردن ایتم لیست باکس به دیتاتبیل



ordebehesht
یک شنبه 10 آذر 1392, 23:12 عصر
با سلام وقتی می خوام به دیتا تیبلم مقداری رو از لیست باکس بخونم و وارد کنم این متن خطا رو میده
کد برنامه :


private void TarggetMethod()
{
TarggetDataTable.TableName = "InsertTable";
TarggetDataTable.Columns.Add("Coding_Kala", type: typeof(Int64));
TarggetDataTable.Columns.Add("Name_Kala", type: typeof(string));
TarggetDataTable.Columns.Add("Moment_Kala", type: typeof(Int32)).DefaultValue = 0;
TarggetDataTable.PrimaryKey = new DataColumn[] { TarggetDataTable.Columns["Coding_Kala"] };
}

private void listBox1_MouseDoubleClick(object sender, MouseEventArgs e)
{
TarggetMethod();
if (e.Button==MouseButtons.Left)
{
DataRow objRow = TarggetDataTable.NewRow();
objRow["Coding_Kala"] = Convert.ToInt32(listBox1.Items
[listBox1.SelectedIndex]);
objRow["Name_Kala"] = "Number";
objRow["Moment_Kala"] = 0;
TarggetDataTable.Rows.Add(objRow);
TarggetDataTable.AcceptChanges();
dataGridView1.DataSource = TarggetDataTable;
}
}


متن خطا:
A column named 'Coding_Kala' already belongs to this DataTable.

ممنون

plus
یک شنبه 10 آذر 1392, 23:25 عصر
شما با هر بار Double Click روی لیست باکس، به DataTable ستون ها رو اضافه میکنید در صورتی که اینکار فقط باید یکبار انجام بشه.طبیعیه که بار دومی که کاربر روی لیست باکس Double Click میکنه و متد TarggetMethod اجرا میشه، چون ستون ها از قبل وجود دارن و شما میخوای ستون هایی با همون اسم رو اضافه کنی برنامه با خطا مواجه میشه.

ordebehesht
یک شنبه 10 آذر 1392, 23:33 عصر
آره الان جواب رو فهمدیم و خودم درست کردم مرسی بازم از راهنماییتون محل ایجاد جدول درست نبود