2011-05-03 54 views
2

我試圖將包含在字符串中的大約100-500個字的文本顯示爲數據表單的一行的兩列,然後將其設置爲DataGridViewDataSource值控制。在datagridview單元格中顯示長文本

現在即使它呈現非常遲緩/滾動需要永遠。

我已經將DefaultStyleMode設置爲WordWrap = true,並調整行高來顯示文本。

有沒有其他方法可以加快速度,或者我應該調查在DataGridView的手機上添加TextBox

+1

它所點擊所以當它的用戶點擊,可以顯示整個文本在彈出窗口? – 2011-05-03 06:03:55

+0

這是用於Winforms的嗎? – V4Vendetta 2011-05-03 06:05:06

+0

@Oscar Mederos - 我非常喜歡這個主意。是否有任何示例或鏈接可以讓我指出哪些可以說明這一想法?謝謝 @ V4Vendetta。是的,這是Windows窗體。 – HelpThis 2011-05-03 06:12:14

回答

1

如何顯示只有幾個字符,並使其可點擊,所以當用戶點擊它時,整個文本可以彈出顯示?

首先,您必須將原始文本存儲在應用程序的某處。讓我們假設你有文本在數組string[] texts

所有你需要做的是:

  • 只有文本的一部分的DataGridView控件添加整個文本,而不是

你可以在string類中使用Split方法執行此操作。示例:

string text = "Oscar Mederos"; 
string portion = text.Substring(0, 3); //portion will be "Osc" 

如果需要,可以在字符串的末尾添加...

Suscribe在應用程序中該事件,並且這樣做:

只展示幾個字符,使
void DataGridView1_OnCellClick(object sender, DataGridViewCellEventArgs e) 
{ 
    int rowClicked = e.RowIndex; 
    int columnClicked = e.ColumnIndex; 

    ///If the column clicked was the one that has the long texts, 
    //just find the original text in 'texts' using 'rowClicked' and show the 
    //message using MessageBox or creating a new Form for that purpose and 
    //showing it using ShowDialog() 
} 
+0

奧斯卡,我在我的一個應用程序中做了類似的事情。唯一的區別是,我沒有顯示幾個字符,而是用鉛筆顯示了一個看起來像記事本的圖像。如果該單元格中有文本,我只顯示圖像,因此沒有圖像的單元格表示該單元格中沒有文本,圖像單元格指示該單元格中有文本。我認爲這對用戶來說很好。 – richard 2011-05-03 06:35:51

+0

@RichardDesLonde這也是個好主意。有幾種方法可以做到這一點。這取決於開發人員的想象力。當鼠標懸停時,他可以放一個「手形」光標,等等。 – 2011-05-03 06:41:04

相關問題