MYSTERY ZILLION တွင် English သို့မဟုတ် Unicode ဖြင့်သာ အသုံးပြုခွင့်ရှိသည်။ ဇော်ဂျီ ၊ ဧရာ စသည်တို့ကို အသုံးပြုခွင့် မရှိ။ Unicode fonts များမှာ Mon3,Yunghkio, Myanamr3 စသည်များ အသုံးပြုနိုင်သည်။ Unicode Guide ကို ဒီမှာ Download ချပါ။ Zawgyi to Unicode Converter
Don't share ebook or software if nobody request. You can find free book websites on here. We are welcome for discussion or asking question instead.

DataTable To DataGridview Combobox

edited August 2014 in C#

စစချင်း Stock id နဲ့ ရွေးလိုက်တယ် သူနဲ့ဆိုင်တာကျလာတယ် သိမ်းလိုက်တယ်။ပြင်ချင်ရင် Browseကနေ အဲBoucherပြန်ခေါမယ်။အဲလိုပုံစံလေးပါ။Browse Buttonကို နှိပ်ပီးတာနဲ့ ရွေးလိုက်တဲ့Boucher ကData တွေ gridviewထဲ ကျပေးချင်တာပါ။
SalesFormလိုပုံစံလေးပါ။ DataGridview ထဲမှာ

DataGridviewComboBox(stockid),datagridviewtxt(stockname),txt(stockprice),txt(qty),txt(total)ဆိုပြီး Columns 6ခု ရှိပါတယ်။

DataTable ကနေ DataGridview Datasource ထဲကို DataTable ထဲက Data ထည့်တော့ stockname,stockprice,qty,total တွေ အကုန်ပြပြီးတော့ datagridviewcombobox ကျတော့ ဘာမှ၀င်မသွားပါဘူး။

FormLoad မှာ datagridviewcombobox မှာ Bind ထားလို့လား။

ဘယ်ကမှာနေမှန်းမသိလို့ကူညီပေးပါ။

private void FrmBoucher_Load(object sender, EventArgs e)
        {
            dgvcbostockid.DisplayMember = "StockID";
            dgvcbostockid.ValueMember = "StockID";
            dgvcbostockid.DataSource = _stock.GetRecord();
            btnNew_Click(null, null);
        }    
private void dataGridView1_CellEndEdit(object sender, DataGridViewCellEventArgs e)
            {
            try
            {
                if (e.ColumnIndex == dataGridView1.Columns["dgvcbostockid"].Index)
                {
                    if (dataGridView1.CurrentRow.Cells["dgvcbostockid"].Value != null)
                    {
                        DataGridViewComboBoxCell dgcb = (DataGridViewComboBoxCell)dataGridView1[e.ColumnIndex, e.RowIndex];
                        string id = dataGridView1.CurrentRow.Cells[dgvcbostockid.Name].Value.ToString();                        
                        _stock = _stock.FindStockID(id);
                        dataGridView1.CurrentRow.Cells[dgvtxtstockname.Name].Value = _stock.StockName;
                        dataGridView1.CurrentRow.Cells[dgvtxtprice.Name].Value = _stock.StockPrice;                       
                        dataGridView1.CurrentRow.Cells[dgvtxtqty.Name].Value = 1;
                        int _qty = Convert.ToInt32(dataGridView1.CurrentRow.Cells[dgvtxtqty.Name].Value.ToString());
                        int price = _stock.StockPrice;
                        int total = price * _qty;
                        dataGridView1.CurrentRow.Cells[dgvtxttotal.Name].Value = total;                          
                    }
                }
                if (e.ColumnIndex == dataGridView1.Columns["dgvtxtqty"].Index)
                {
                    int qty = Convert.ToInt32(dataGridView1.CurrentRow.Cells[dgvtxtqty.Name].Value.ToString());
                    int price = _stock.StockPrice;
                    int total = price * qty;
                    dataGridView1.CurrentRow.Cells[dgvtxttotal.Name].Value = total;                    
                }
                txtbouchertotal.Text = GetTotal().ToString();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
 private void BindToGridView()
        {
            try
            {
                List lst = _boucher.FindByID();
                for (int i = 0; i < lst.Count; i++)
                {
                    DataRow dr = _dataset.Tables["BoucherDetail"].NewRow();
                    dr["boucherid"] = lst[i].BoucherID;
                    dr["stockid"] = lst[i].StockID;
                    dr["stockname"] = lst[i].StockName;
                    dr["price"] = lst[i].Stockprice;
                    dr["qty"] = lst[i].StockQty;
                    dr["total"] = lst[i].Total;
                    _dataset.Tables["BoucherDetail"].Rows.Add(dr);
                    dataGridView1.DataSource = _dataset.Tables["BoucherDetail"];
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
private void btnBrowse_Click(object sender, EventArgs e)
        {
            try
            {
                FrmBoucherBrowser _boucherbrowser = new FrmBoucherBrowser();
                if (_boucherbrowser.ShowDialog() == DialogResult.OK)
                {
                    this._boucher = _boucherbrowser._boucher;                    
                    BindToGridview();                 
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
}

မှတ်ချက်များ

  • Administrators
    Dataset ds = new Dataset();
    BindingSource bs = new BindingSource()
    bs.Datasource = _dataset.Tables["BoucherDetail"];
    DatagridView.Datasource = bs;
    

    Try like that for update datasource.

    Thanked by 1 banyarpisi
  • Registered Users

    DataGridviewCombobox Column အလွတ်ကြီးပဲဖြစ်နေလို့အစ်ကို ရွေးမသွားဘူး အစ်ကို

  • edited August 2014 Registered Users

    You might need to set DataPropertyName property of the DataGridViewComboBox. Try to add this line in your Form_Load before setting DataSource.

    dgvcbostockid.DataPropertyName = "StockID";
    
    Thanked by 1 banyarpisi
  • Registered Users

    ဟုတ်အစ်ကို အခု datagridview comboboxမှာတော့ပေါသွားပါပီ။တခြားColumns က Dataတွေကမမှန်ဘူးဖြစ်နေလို့ Example;
    Nameမှာဆို ဘာမမပေါ။ Price နေရာမှာကျမှန်သွားပီး။QTYမှာဆို ဘာမမပေါ။Totalမှာဆို StockCodeတွေ၀င်လို့၀င်ြဖစ်သွားပါတယ်။ဟီး ပြောပေးကျပါအုန်းနော်

  • Registered Users

    When you bind a DataTable to GridView, "DataPropertyName" of GridView columns need to match with the Column Name of the DataTable. Due to the provided code, DataPropertyName of the "Name" column have to be "stockname", "Qty" column have to be "qty" and "Total" column have to be "total".



    Hope this help

    Thanked by 2 banyarpisi saturngod
  • Registered Users

    ဟီးရသွားပါပြီအစ်ကို ကျေးဇူးတင်ပါတယ် :D

Sign In or Register to comment.