none
[VB2008] DataGridView設定資料欄位格式 RRS feed

  • 問題

  • 向各位大大請教
    在VB的DataGridView中
    如何針對欄位格式去做設定
    做出類似在Excel中設定欄位是文字、數字、日期....
    2009年4月20日 上午 07:42

解答

所有回覆

  • 風箏:
         你可以參考MSDN
         [DataGridViewColumn.DefaultCellStyle 屬性]
         [DataGridViewCellStyle 類別]
         希望對你有幫助
    2009年4月20日 上午 08:46
    版主
  • 感謝Bill大大的回覆
    容小弟想想吧...
    2009年4月20日 上午 09:18
  • 風箏:
        可以先在表單畫面設計狀態玩玩看
        點選DataGridView選擇屬性,找到Columns屬性,再點進去你會看到編輯資料行的畫面
        拉到最上方,有一個DefaultCellStyle,再點進去會進入CellStyle產生器,就有Format 可以試玩看看
     
    2009年4月20日 上午 09:24
    版主
  • 我先玩玩看

    剛剛喵了一下
    預設的Format裡面沒有"文字"的選項
    因小弟讀入的Excel中
    有一欄位為編號
    想在讀入顯示於DataGridView時
    將該欄位利用"文字"的格式顯示
    而不要以"數值"的方式顯示

    2009年4月20日 上午 09:30
  • 請參考MSDN Library for Visual Studio 2008 SP1 繁體中文HOW TO:使用設計工具變更 Windows Form DataGridView 資料行的型別
    2009年4月20日 上午 10:32
  • 首先感謝Terry大大的回答
    不過小弟剛剛研究了老半天的
    發現MSDN中寫的方法
    是指說我在DataGridView中預先設定好資料的欄位
    然後再讀取Excel的資料寫入DataGridView中
    但小弟的作法是...
    VB只建立DataGridView控制項
    而藉由讀入Excel檔案
    再由DataGridView去自行建立欄位...
    跟MSDN寫的方向有點不一樣耶...
    思考ing...
    2009年4月20日 下午 03:33
  • 想了很久還是想不太出來
    貼兩張圖面來說明一下目前的狀況

    Photobucket

    Photobucket

    第一張圖是正常運作的狀況
    第二張圖可以看到底下紅色圈出來部分
    已經將原本的"1001"改成"01001"(在Excel中利用'來設定的)
    但在讀入後卻發現01001消失了
    想了很久
    小弟實在是不知道該怎麼處理這個狀況
    目前只知道說先讀出該欄位資料格值
    先判斷長度是4位數或5位數
    若為4位數
    則在該資料前"+0"後顯示在DataGridView上
    若為5位數則直接顯示在DataGridView上

    目前判斷長度的程式已經OK了
    但卻不知怎麼把修改後的值寫入再顯示
    請大大們給小弟一點方向
    感恩...
    2009年4月22日 上午 03:24
  • DataGridView要顯示修改後的資料,你可以試著在存檔後重新設定DataGridView的DataSource。

     this.myTableAdapter.Fill(this.dataset1);
    
     dataGridView1.DataSource = this.dataset1;
    
    
    2009年4月23日 上午 01:56
  • 大大
    您可能誤會小弟的意思了
    小弟是意思是說
    如果我在導入Excel時
    Excel的格式如第一張圖
    則可正常導入
    若導入的Excel為第二張圖
    則會出現問題
    並非導入後又重新讀入喔...
    2009年4月23日 上午 05:19
  • 因為資料型別不同。

    搜尋既有討論:
    http://social.msdn.microsoft.com/Search/zh-TW/?Refinement=112&query=Excel+IMEX&rq=&rn=


    論壇是網友平等互助 保證解答請至 微軟技術支援服務
    2009年4月23日 上午 06:01