PDA

View Full Version : علت عدم نمایش داده های جدید در gridview



moonboy
پنج شنبه 07 دی 1396, 07:36 صبح
با سلام دوستان من ی مشکلی تو نمایش Datatable در Gridview دارم و اون اینکه بعد از تغییر اطلاعات داخل Datatable کنترل گرید داده های جدید نمایش نمیده. از توابع update refresh استفاده کردم ولی نشد. این تغییراتی که داخل [Form1.unprocessed_dataset.Tables[comb_selected_sheet انجام میشه و همه چیز درست پیش میره فقط دادهای قدیمی داخل گرید ویو نمایش داده میشه. البته این اتفاق زمانی میوفته که این خط کد رو مینویسم

Form1.unprocessed_dataset = Form1.orginal_unprocessed_dataset.Copy();



private void button1_Click(object sender, EventArgs e)
{
Form1.unprocessed_dataset = Form1.orginal_unprocessed_dataset.Copy();


if (textBox1.Text.All(char.IsDigit) && textBox1.Text != "0" &&
!string.IsNullOrEmpty(textBox1.Text.Trim()) &&
!string.IsNullOrWhiteSpace(textBox1.Text.Trim()))
{
DataTable dt = Form1.unprocessed_dataset.Tables[comb_selected_sheet];
for (int x = 0; x < dt.Rows.Count;x++ )
{
if (!string.IsNullOrEmpty(Form1.unprocessed_dataset.T ables[comb_selected_sheet].Rows[x][3].ToString()) &&
Form1.unprocessed_dataset.Tables[comb_selected_sheet].Rows[x][3].ToString().Length >= Convert.ToInt32(textBox1.Text))
{
Form1.unprocessed_dataset.Tables[comb_selected_sheet].Rows[x][3] =
Form1.unprocessed_dataset.Tables[comb_selected_sheet].Rows[x][3].ToString()
.Substring(0, Convert.ToInt32(textBox1.Text));




//Form1.processed_dataset.Tables[comb_selected_sheet].Rows[x][3] =
// Form1.processed_dataset.Tables[comb_selected_sheet].Rows[x][3].ToString()
// .Substring(0, Convert.ToInt32(textBox1.Text));
}
}

RemoveDuplicateRows(Form1.unprocessed_dataset.Tabl es[comb_selected_sheet],"Code", "Area Code");
// RemoveDuplicateRows(Form1.processed_dataset.Tables[comb_selected_sheet], "Code", "Area Code");
Form1.unprocessed_dataset.Tables[comb_selected_sheet].AcceptChanges();
form.select_regular_datatable(comb_selected_sheet) ;
}
else
{
MessageBox.Show("مقدار وارد شده معتبر نیست.");
}
}


این هم تابع select_regular_datatable در فرم اصلی
public void select_regular_datatable(string selected) {
if (checkBox1.CheckState == CheckState.Checked)
{
dataGridView1.DataSource = processed_dataset.Tables[selected];
checkbox_state = checkBox1.CheckState.ToString();
}
else
{
dataGridView1.DataSource = unprocessed_dataset.Tables[selected];
checkbox_state = checkBox1.CheckState.ToString();
}
}

دوستان لطفا راهنمایی کنید

RIG000
سه شنبه 12 دی 1396, 16:24 عصر
this.yourDataTable.Fill(yourDataSet)