اسماعیل ابراهیمی
چهارشنبه 16 مهر 1393, 11:33 صبح
به نظرتون مشکل کد زیر چیه ؟
الان حدود 350 رکورد هست داخل دیتاگرید - هنگه هنگ هم نمیشه - چند لحظه هنگ میکنه
using System;
using System.Data;
using System.Drawing;
using System.Windows.Forms;
using DevComponents.DotNetBar;
using Transport.BLL;
namespace Transport
{
public partial class transport_in : Office2007Form
{
public transport_in()
{
InitializeComponent();
}
private void clearAllLabels()
{
lbl_transport_type.Text = "---";
lbl_transport_peyment.Text = "---";
lbl_transport_number.Text = "---";
lbl_transport_date.Text = "---";
lbl_transport_weight.Text = "---";
lbl_transport_total_price.Text = "---";
lbl_transport_agency_portion.Text = "---";
lbl_transport_description.Text = "---";
lbl_transport_import_date.Text = "---";
lbl_transport_max_weight.Text = "---";
lbl_transport_base_price.Text = "---";
lbl_transport_addition_weight.Text = "---";
lbl_transport_comany_agency_portion.Text = "---";
lbl_transport_company_portion.Text = "---";
lbl_company_name.Text = "---";
}
private void setLabelsContent()
{
try
{
clearAllLabels();
if (dgv_transport.Rows.Count > 0)
{
lbl_transport_id.Text = dgv_transport.Rows[dgv_transport.CurrentRow.Index].Cells[0].Value.ToString();
lbl_transport_type.Text = dgv_transport.Rows[dgv_transport.CurrentRow.Index].Cells[6].Value.ToString();
lbl_transport_peyment.Text = dgv_transport.Rows[dgv_transport.CurrentRow.Index].Cells[5].Value.ToString();
lbl_company_name.Text = dgv_transport.Rows[dgv_transport.CurrentRow.Index].Cells[4].Value.ToString();
lbl_transport_number.Text = dgv_transport.Rows[dgv_transport.CurrentRow.Index].Cells[2].Value.ToString();
lbl_transport_date.Text = dgv_transport.Rows[dgv_transport.CurrentRow.Index].Cells[1].Value.ToString();
lbl_transport_weight.Text = dgv_transport.Rows[dgv_transport.CurrentRow.Index].Cells[12].Value.ToString();
lbl_transport_total_price.Text =special_class.ToFormattedThousands(dgv_transport. Rows[dgv_transport.CurrentRow.Index].Cells[7].Value.ToString());
lbl_transport_agency_portion.Text = special_class.ToFormattedThousands(dgv_transport.R ows[dgv_transport.CurrentRow.Index].Cells[9].Value.ToString());
lbl_transport_description.Text = dgv_transport.Rows[dgv_transport.CurrentRow.Index].Cells[14].Value.ToString();
lbl_transport_import_date.Text = dgv_transport.Rows[dgv_transport.CurrentRow.Index].Cells[11].Value.ToString();
lbl_transport_max_weight.Text = dgv_transport.Rows[dgv_transport.CurrentRow.Index].Cells[17].Value.ToString();
lbl_transport_base_price.Text = special_class.ToFormattedThousands(dgv_transport.R ows[dgv_transport.CurrentRow.Index].Cells[18].Value.ToString());
lbl_transport_addition_weight.Text = special_class.ToFormattedThousands(dgv_transport.R ows[dgv_transport.CurrentRow.Index].Cells[19].Value.ToString());
lbl_transport_comany_agency_portion.Text = special_class.ToFormattedThousands(dgv_transport.R ows[dgv_transport.CurrentRow.Index].Cells[20].Value.ToString());
lbl_transport_company_portion.Text = special_class.ToFormattedThousands(dgv_transport.R ows[dgv_transport.CurrentRow.Index].Cells[10].Value.ToString());
}
else
{
clearAllLabels();
}
if (dgv_transport.Rows.Count<1)
{
clearAllLabels();
}
}
catch (Exception)
{
clearAllLabels();
}
}
private void addSeperatorToNumericColumns()
{
dgv_transport.Columns[9].DefaultCellStyle.Format = "###,###,###,###,###,###";
dgv_transport.Columns[11].DefaultCellStyle.Format = "###,###,###,###,###,###";
dgv_transport.Columns[20].DefaultCellStyle.Format = "###,###";
}
// متد پر کردن اطلاعات جدول بارنامه ها
public void FillDataGrid()
{
DataTable ResultTable = bll_transport.SelectAllRecord("tbl_transport_in");
dgv_transport.DataSource = ResultTable;
dgv_transport.Columns[0].HeaderText = "شناسه";
dgv_transport.Columns[1].HeaderText = "تاریخ بارنامه";
dgv_transport.Columns[2].HeaderText = "شماره بارنامه";
dgv_transport.Columns[3].HeaderText = "شناسه شرکت";
dgv_transport.Columns[4].HeaderText = "شرکت";
dgv_transport.Columns[5].HeaderText = "نوع پرداخت";
dgv_transport.Columns[6].HeaderText = "نوع بارنامه";
dgv_transport.Columns[7].HeaderText = "مبلغ بارنامه";
dgv_transport.Columns[8].HeaderText = "کد شهر";
dgv_transport.Columns[9].HeaderText = "سهم نمایندگی";
dgv_transport.Columns[10].HeaderText = "سهم شرکت";
dgv_transport.Columns[11].HeaderText = "تاریخ ثبت";
dgv_transport.Columns[12].HeaderText = "وزن";
dgv_transport.Columns[13].HeaderText = "کرایه حمل";
dgv_transport.Columns[14].HeaderText = "توضیحات";
dgv_transport.Columns[15].HeaderText = "آیا نماینده شهرستان است؟";
dgv_transport.Columns[16].HeaderText = "سهم کنونی نماینده شهرستان";
dgv_transport.Columns[17].HeaderText = "حداکثر وزن قیمت ثابت";
dgv_transport.Columns[18].HeaderText = "قیمت پایه برای وزن ثابت";
dgv_transport.Columns[19].HeaderText = "قیمت برای هر کیلو بار اضافه";
dgv_transport.Columns[20].HeaderText = "سهم شرکت برای ارسال شهرستان";
dgv_transport.Columns[0].Visible = false;
dgv_transport.Columns[3].Visible = false;
dgv_transport.Columns[8].Visible = false;
dgv_transport.Columns[12].Visible = false;
dgv_transport.Columns[13].Visible = false;
dgv_transport.Columns[14].Visible = false;
dgv_transport.Columns[15].Visible = false;
dgv_transport.Columns[16].Visible = false;
dgv_transport.Columns[17].Visible = false;
dgv_transport.Columns[18].Visible = false;
dgv_transport.Columns[19].Visible = false;
dgv_transport.Columns[20].Visible = false;
special_class.setRowNumber(dgv_transport);
}
private void transport_in_Load(object sender, EventArgs e)
{
FillDataGrid();
}
private void btn_back_Click(object sender, EventArgs e)
{
this.Close();
}
private void btn_new_Click(object sender, EventArgs e)
{
transport_in_edit frm_transport_in_edit = new transport_in_edit();
frm_transport_in_edit.ShowDialog();
}
private void btn_edit_Click(object sender, EventArgs e)
{
}
private void transport_in_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Escape)
{
this.Close();
}
if (e.KeyCode==Keys.F3)
{
txt_search.Focus();
}
}
private void dgv_transport_CellEnter(object sender, DataGridViewCellEventArgs e)
{
setLabelsContent();
}
private void transport_in_Activated(object sender, EventArgs e)
{
FillDataGrid();
}
private void btn_delete_Click(object sender, EventArgs e)
{
if (dgv_transport.Rows.Count > 0)
{
try
{
string Transport_ID = lbl_transport_id.Text;
if (FMessegeBox.FarsiMessegeBox.Show("آیا از حذف اطلاعات این بارنامه مطمئن هستید ؟", "تایید حذف اطلاعات", FMessegeBox.FMessegeBoxButtons.YesNo, FMessegeBox.FMessegeBoxIcons.Question) == DialogResult.Yes)
{
string Query = "DELETE FROM tbl_transport WHERE transport_id=" + Transport_ID;
bool result = bll_transport.RunQuery(Query);
if (result)
{
lblMessage.Text = "اطلاعات با موفقيت حذف شد";
lblMessage.ForeColor = Color.Green;
}
else
{
lblMessage.Text = "خطا در حذف اطلاعات";
lblMessage.ForeColor = Color.Red;
}
FillDataGrid();
}
}
catch (Exception)
{
lblMessage.Text = "لطفاً يک رکورد را براي حذف انتخاب کنيد";
lblMessage.ForeColor = Color.Red;
}
}
}
private void txt_search_TextChanged(object sender, EventArgs e)
{
clearAllLabels();
string SQLWHERE = string.Format(" WHERE (peyment_type like '%{0}%' OR company_name like '%{0}%' OR transport_number like '%{0}%' OR transport_date like '%{0}%' OR transport_weight like '%{0}%' OR transport_total_price like '%{0}%' OR agency_portion like '%{0}%' OR transport_description like '%{0}%' OR trasport_import_date like '%{0}%' ) AND tbl_transport.transport_type='ورودی' ", txt_search.Text);
string SQLQuery = "SELECT tbl_transport.transport_id,tbl_transport.transport _date,tbl_transport.transport_number,tbl_transport .company_id,tbl_company.company_name,tbl_transport .peyment_type,tbl_transport.transport_type,tbl_tra nsport.transport_total_price,tbl_transport.city_id ,tbl_transport.agency_portion,tbl_transport.transp ort_company_portion,tbl_transport.trasport_import_ date,tbl_transport.transport_weight,tbl_transport. transport_price,tbl_transport.transport_descriptio n,tbl_transport.is_city_agency,tbl_transport.curre nt_agency_portion_price,tbl_transport.transport_cu rrent_max_fix_weight,tbl_transport.transport_curre nt_base_price,tbl_transport.transport_current_addi tion_price,tbl_transport.transport_current_agency_ portion " +
" FROM tbl_company INNER JOIN tbl_transport ON tbl_company.company_id = tbl_transport.company_id " + SQLWHERE;
DataTable ResultTable = bll_transport.search_in_transport(SQLQuery);
dgv_transport.DataSource = ResultTable;
special_class.setRowNumber(dgv_transport);
}
private void dgv_transport_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
{
dgv_transport.Columns[10].DefaultCellStyle.Format = "N0";
dgv_transport.Columns[7].DefaultCellStyle.Format = "N0";
dgv_transport.Columns[9].DefaultCellStyle.Format = "N0";
}
}
}
الان حدود 350 رکورد هست داخل دیتاگرید - هنگه هنگ هم نمیشه - چند لحظه هنگ میکنه
using System;
using System.Data;
using System.Drawing;
using System.Windows.Forms;
using DevComponents.DotNetBar;
using Transport.BLL;
namespace Transport
{
public partial class transport_in : Office2007Form
{
public transport_in()
{
InitializeComponent();
}
private void clearAllLabels()
{
lbl_transport_type.Text = "---";
lbl_transport_peyment.Text = "---";
lbl_transport_number.Text = "---";
lbl_transport_date.Text = "---";
lbl_transport_weight.Text = "---";
lbl_transport_total_price.Text = "---";
lbl_transport_agency_portion.Text = "---";
lbl_transport_description.Text = "---";
lbl_transport_import_date.Text = "---";
lbl_transport_max_weight.Text = "---";
lbl_transport_base_price.Text = "---";
lbl_transport_addition_weight.Text = "---";
lbl_transport_comany_agency_portion.Text = "---";
lbl_transport_company_portion.Text = "---";
lbl_company_name.Text = "---";
}
private void setLabelsContent()
{
try
{
clearAllLabels();
if (dgv_transport.Rows.Count > 0)
{
lbl_transport_id.Text = dgv_transport.Rows[dgv_transport.CurrentRow.Index].Cells[0].Value.ToString();
lbl_transport_type.Text = dgv_transport.Rows[dgv_transport.CurrentRow.Index].Cells[6].Value.ToString();
lbl_transport_peyment.Text = dgv_transport.Rows[dgv_transport.CurrentRow.Index].Cells[5].Value.ToString();
lbl_company_name.Text = dgv_transport.Rows[dgv_transport.CurrentRow.Index].Cells[4].Value.ToString();
lbl_transport_number.Text = dgv_transport.Rows[dgv_transport.CurrentRow.Index].Cells[2].Value.ToString();
lbl_transport_date.Text = dgv_transport.Rows[dgv_transport.CurrentRow.Index].Cells[1].Value.ToString();
lbl_transport_weight.Text = dgv_transport.Rows[dgv_transport.CurrentRow.Index].Cells[12].Value.ToString();
lbl_transport_total_price.Text =special_class.ToFormattedThousands(dgv_transport. Rows[dgv_transport.CurrentRow.Index].Cells[7].Value.ToString());
lbl_transport_agency_portion.Text = special_class.ToFormattedThousands(dgv_transport.R ows[dgv_transport.CurrentRow.Index].Cells[9].Value.ToString());
lbl_transport_description.Text = dgv_transport.Rows[dgv_transport.CurrentRow.Index].Cells[14].Value.ToString();
lbl_transport_import_date.Text = dgv_transport.Rows[dgv_transport.CurrentRow.Index].Cells[11].Value.ToString();
lbl_transport_max_weight.Text = dgv_transport.Rows[dgv_transport.CurrentRow.Index].Cells[17].Value.ToString();
lbl_transport_base_price.Text = special_class.ToFormattedThousands(dgv_transport.R ows[dgv_transport.CurrentRow.Index].Cells[18].Value.ToString());
lbl_transport_addition_weight.Text = special_class.ToFormattedThousands(dgv_transport.R ows[dgv_transport.CurrentRow.Index].Cells[19].Value.ToString());
lbl_transport_comany_agency_portion.Text = special_class.ToFormattedThousands(dgv_transport.R ows[dgv_transport.CurrentRow.Index].Cells[20].Value.ToString());
lbl_transport_company_portion.Text = special_class.ToFormattedThousands(dgv_transport.R ows[dgv_transport.CurrentRow.Index].Cells[10].Value.ToString());
}
else
{
clearAllLabels();
}
if (dgv_transport.Rows.Count<1)
{
clearAllLabels();
}
}
catch (Exception)
{
clearAllLabels();
}
}
private void addSeperatorToNumericColumns()
{
dgv_transport.Columns[9].DefaultCellStyle.Format = "###,###,###,###,###,###";
dgv_transport.Columns[11].DefaultCellStyle.Format = "###,###,###,###,###,###";
dgv_transport.Columns[20].DefaultCellStyle.Format = "###,###";
}
// متد پر کردن اطلاعات جدول بارنامه ها
public void FillDataGrid()
{
DataTable ResultTable = bll_transport.SelectAllRecord("tbl_transport_in");
dgv_transport.DataSource = ResultTable;
dgv_transport.Columns[0].HeaderText = "شناسه";
dgv_transport.Columns[1].HeaderText = "تاریخ بارنامه";
dgv_transport.Columns[2].HeaderText = "شماره بارنامه";
dgv_transport.Columns[3].HeaderText = "شناسه شرکت";
dgv_transport.Columns[4].HeaderText = "شرکت";
dgv_transport.Columns[5].HeaderText = "نوع پرداخت";
dgv_transport.Columns[6].HeaderText = "نوع بارنامه";
dgv_transport.Columns[7].HeaderText = "مبلغ بارنامه";
dgv_transport.Columns[8].HeaderText = "کد شهر";
dgv_transport.Columns[9].HeaderText = "سهم نمایندگی";
dgv_transport.Columns[10].HeaderText = "سهم شرکت";
dgv_transport.Columns[11].HeaderText = "تاریخ ثبت";
dgv_transport.Columns[12].HeaderText = "وزن";
dgv_transport.Columns[13].HeaderText = "کرایه حمل";
dgv_transport.Columns[14].HeaderText = "توضیحات";
dgv_transport.Columns[15].HeaderText = "آیا نماینده شهرستان است؟";
dgv_transport.Columns[16].HeaderText = "سهم کنونی نماینده شهرستان";
dgv_transport.Columns[17].HeaderText = "حداکثر وزن قیمت ثابت";
dgv_transport.Columns[18].HeaderText = "قیمت پایه برای وزن ثابت";
dgv_transport.Columns[19].HeaderText = "قیمت برای هر کیلو بار اضافه";
dgv_transport.Columns[20].HeaderText = "سهم شرکت برای ارسال شهرستان";
dgv_transport.Columns[0].Visible = false;
dgv_transport.Columns[3].Visible = false;
dgv_transport.Columns[8].Visible = false;
dgv_transport.Columns[12].Visible = false;
dgv_transport.Columns[13].Visible = false;
dgv_transport.Columns[14].Visible = false;
dgv_transport.Columns[15].Visible = false;
dgv_transport.Columns[16].Visible = false;
dgv_transport.Columns[17].Visible = false;
dgv_transport.Columns[18].Visible = false;
dgv_transport.Columns[19].Visible = false;
dgv_transport.Columns[20].Visible = false;
special_class.setRowNumber(dgv_transport);
}
private void transport_in_Load(object sender, EventArgs e)
{
FillDataGrid();
}
private void btn_back_Click(object sender, EventArgs e)
{
this.Close();
}
private void btn_new_Click(object sender, EventArgs e)
{
transport_in_edit frm_transport_in_edit = new transport_in_edit();
frm_transport_in_edit.ShowDialog();
}
private void btn_edit_Click(object sender, EventArgs e)
{
}
private void transport_in_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Escape)
{
this.Close();
}
if (e.KeyCode==Keys.F3)
{
txt_search.Focus();
}
}
private void dgv_transport_CellEnter(object sender, DataGridViewCellEventArgs e)
{
setLabelsContent();
}
private void transport_in_Activated(object sender, EventArgs e)
{
FillDataGrid();
}
private void btn_delete_Click(object sender, EventArgs e)
{
if (dgv_transport.Rows.Count > 0)
{
try
{
string Transport_ID = lbl_transport_id.Text;
if (FMessegeBox.FarsiMessegeBox.Show("آیا از حذف اطلاعات این بارنامه مطمئن هستید ؟", "تایید حذف اطلاعات", FMessegeBox.FMessegeBoxButtons.YesNo, FMessegeBox.FMessegeBoxIcons.Question) == DialogResult.Yes)
{
string Query = "DELETE FROM tbl_transport WHERE transport_id=" + Transport_ID;
bool result = bll_transport.RunQuery(Query);
if (result)
{
lblMessage.Text = "اطلاعات با موفقيت حذف شد";
lblMessage.ForeColor = Color.Green;
}
else
{
lblMessage.Text = "خطا در حذف اطلاعات";
lblMessage.ForeColor = Color.Red;
}
FillDataGrid();
}
}
catch (Exception)
{
lblMessage.Text = "لطفاً يک رکورد را براي حذف انتخاب کنيد";
lblMessage.ForeColor = Color.Red;
}
}
}
private void txt_search_TextChanged(object sender, EventArgs e)
{
clearAllLabels();
string SQLWHERE = string.Format(" WHERE (peyment_type like '%{0}%' OR company_name like '%{0}%' OR transport_number like '%{0}%' OR transport_date like '%{0}%' OR transport_weight like '%{0}%' OR transport_total_price like '%{0}%' OR agency_portion like '%{0}%' OR transport_description like '%{0}%' OR trasport_import_date like '%{0}%' ) AND tbl_transport.transport_type='ورودی' ", txt_search.Text);
string SQLQuery = "SELECT tbl_transport.transport_id,tbl_transport.transport _date,tbl_transport.transport_number,tbl_transport .company_id,tbl_company.company_name,tbl_transport .peyment_type,tbl_transport.transport_type,tbl_tra nsport.transport_total_price,tbl_transport.city_id ,tbl_transport.agency_portion,tbl_transport.transp ort_company_portion,tbl_transport.trasport_import_ date,tbl_transport.transport_weight,tbl_transport. transport_price,tbl_transport.transport_descriptio n,tbl_transport.is_city_agency,tbl_transport.curre nt_agency_portion_price,tbl_transport.transport_cu rrent_max_fix_weight,tbl_transport.transport_curre nt_base_price,tbl_transport.transport_current_addi tion_price,tbl_transport.transport_current_agency_ portion " +
" FROM tbl_company INNER JOIN tbl_transport ON tbl_company.company_id = tbl_transport.company_id " + SQLWHERE;
DataTable ResultTable = bll_transport.search_in_transport(SQLQuery);
dgv_transport.DataSource = ResultTable;
special_class.setRowNumber(dgv_transport);
}
private void dgv_transport_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
{
dgv_transport.Columns[10].DefaultCellStyle.Format = "N0";
dgv_transport.Columns[7].DefaultCellStyle.Format = "N0";
dgv_transport.Columns[9].DefaultCellStyle.Format = "N0";
}
}
}