2011-08-11 96 views
3

我有一個帶有MASTER表的數據庫。 MASTER有一列數據類型MONEY的工資。 現在,當我從datagridview中的數據庫中獲取數據時,我想用「R」顯示錢列。附加到它。 像,如果數據庫中的薪水是100,我想將它視爲Rs。 100在我的datagridview。填充方法只是將整個數據按原樣複製到datagridview中。 那麼怎麼做呢?如何將來自數據庫的數據更改爲DataGridView

回答

2
dataGridView1.CellFormatting += 
     new System.Windows.Forms.DataGridViewCellFormattingEventHandler(
     this.dataGridView1_CellFormatting); 

private void dataGridView1_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e) 
{ 
    if (this.dataGridView1.Columns[e.ColumnIndex].Name == "Salary") 
    { 
     if (e.Value != null) 
     { 
      try 
      { 
       e.Value = String.Format("Rs. {0:F2}", e.Value); 
       e.FormattingApplied = true; 
      } 
      catch (FormatException) 
      { 
       e.FormattingApplied = false; 
      } 
     } 
    } 
} 
+0

我收到錯誤 - 「名稱'格式'不會在當前上下文中出現。」 – Sandy

+0

@ user815600 - 對不起,在那裏複製/粘貼錯誤。我更正了這個例子來顯示'e'而不是'格式'。 – nekno

+0

完美。它的工作正常。但它給我喜歡,盧比。 100美元,但如何擺脫那個$符號。請耐心等待,我對這種語言和字段 – Sandy

0

上DatabindingComplete您可以手動修改該列(如果您正在使用的WinForms工作)

private void dataGridView1_DataBindingComplete(object sender, DataGridViewBindingCompleteEventArgs e) 
    { 
     foreach (DataGridViewRow row in dataGridView1.Rows) 
     { 
      row.Cells["Salary"].Value = "Add your calc here"; 
     } 
    } 
+1

「foreach」可以工作,但這只是在DataGridView被填充後修改列的開銷。 – RKh

+0

我同意你的意見。其實我正在尋找「InitializeRow」事件,但後來我意識到我一直在使用Infragistics組件工作太久;) – Martin

+0

實際上,我在數據庫中的Salary數據類型是Money。當我添加「Rs」時到我的DatagridView,它給錯誤,如輸入格式是錯誤的。 – Sandy

1

我不知道,但可以修改使用DataGridView.OnUserAddedRow Method

這裏的行添加事件是一個短碼。我沒有測試它,但請檢查是否爲你的作品或不:

protected override void OnUserAddedRow(DataGridViewRowEventArgs e) 
{ 
    int actualRowIndex = this.Rows.Count - 2; 
    this.Rows[actualRowIndex].Cells["Salary"].Value = "Rs." + <Your SQL Salary>; 
    base.OnUserAddedRow(e); 
} 

你可以閱讀更多有關這種用法在這裏:Dynamically set DataGridViewColumn default value at runtime

2

使用列的DefaultCellStyle屬性的格式屬性題。您可以通過右鍵單擊DataGridView控件,使用「編輯列」對話框以聲明方式進行操作。在你的情況下,你需要將Format屬性設置爲'Rs'。 0.00。需要單引號才能在Rs之後轉義點號。

有關更多信息,請閱讀MSDN上的Custom Numeric Format Strings主題。

相關問題