可以把某個(gè)列為空就當(dāng)做是空行,你連接字符串是hdr=no,也就是第一行不作為列標(biāo)題,那么就是用的默認(rèn)的列標(biāo)題,F(xiàn)1,F(xiàn)2.。。這些。
站在用戶的角度思考問題,與客戶深入溝通,找到新津縣網(wǎng)站設(shè)計(jì)與新津縣網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:做網(wǎng)站、成都做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、主機(jī)域名、網(wǎng)絡(luò)空間、企業(yè)郵箱。業(yè)務(wù)覆蓋新津縣地區(qū)。
比如,第一列的某行為空的話就當(dāng)做是空行,你可以加這個(gè)條件 where len([F1]) 0
你是想獲取總行數(shù)?還是選中行和列的索引?
獲取總行數(shù):dataGridView1.Rows.Count;
獲取當(dāng)前選中行索引:int
i
=
this.dataGridView1.CurrentRow.Index;
獲取當(dāng)前選中列索引:int
j
=
this.dataGridView1.CurrentCell.ColumnIndex;
在窗體上加上三個(gè)標(biāo)簽控件:Label1、Label2、Label3
Private?Sub?DataGridView1_MouseUp(ByVal?sender?As?Object,?ByVal?e?As?System.Windows.Forms.MouseEventArgs)?Handles?DataGridView1.MouseUp
Dim?counter?As?Integer
Dim?SelectedCellTotal?As?Integer?=?0
Dim?SelectedCellCount?As?Integer?=?0
For?counter?=?0?To?(DataGridView1.SelectedCells.Count?-?1)
If?DataGridView1.SelectedCells(counter).FormattedValueType?Is?_
Type.GetType("System.String")?Then
Dim?value?As?String?=?Nothing
If?(DataGridView1.IsCurrentCellDirty?=?True)?Then
value?=?DataGridView1.SelectedCells(counter).EditedFormattedValue.ToString()
Else
value?=?DataGridView1.SelectedCells(counter).FormattedValue.ToString()
End?If
If?value?IsNot?Nothing?Then
If?Not?value.Length?=?0?Then
SelectedCellTotal?=?SelectedCellTotal?+?Integer.Parse(value)
SelectedCellCount?=?SelectedCellCount?+?1
End?If
End?If
End?If
Next
Label1.Text?=?"選中的單元格個(gè)數(shù)為:?"??SelectedCellCount.ToString()
Label2.Text?=?"單元格里數(shù)據(jù)之和為:?"??SelectedCellTotal.ToString()
Label3.Text?=?"選中的單元格行數(shù)為:"??DataGridView1.SelectedRows.Count.ToString()
End?Sub
求行:
RichTextBox1.GetLineFromChar(RichTextBox1.SelStart)+1
這個(gè)代碼呢,我的理解呢,是獲取在selstart的地方的行數(shù)。一般來講selstart的地方都是光標(biāo)的地方,然后會(huì)給你返回line。不過返回的時(shí)候要自己加1。不是很懂這個(gè)語法,有懂得可以教我一下
以上是求行數(shù)。
求列:
For i = 0 To RichTextBox1.SelStart
If RichTextBox1.GetLineFromChar(RichTextBox1.SelStart) - RichTextBox1.GetLineFromChar(RichTextBox1.SelStart - i) 0 Then Exit For
j = j + 1
Next i
這個(gè)for循環(huán)呢,講的是檢查這一行光標(biāo)前有多少個(gè)列,然后用J輸出列的個(gè)數(shù)。
因?yàn)閂B6.0沒有RichTextBox1.GetFirstCharIndexOfCurrentLine這種語法。所以就得自己模擬這個(gè)過程。
具體怎么檢查的呢,首先將 i 從0循環(huán)到光標(biāo)處,
如果 【光標(biāo)字符數(shù)】處的行數(shù) 減去 【光標(biāo)字符數(shù)減去 i 個(gè)字符數(shù)】處的行數(shù)小于0了,我寫了個(gè)不為零。但此時(shí)寫小于零就可以。那么代表著換行了,同時(shí)也代表著光標(biāo)到上一行之間有多少字。用j存儲(chǔ)循環(huán)次數(shù),得出對(duì)應(yīng)列數(shù)。(我們中文習(xí)慣是叫第一列,但程序?qū)嶋H上是第零列,但在循環(huán)的時(shí)候就注意到并解決這個(gè)問題了)
如果你替換寫法,例如
If RichTextBox1.GetLineFromChar(RichTextBox1.SelStart) - RichTextBox1.GetLineFromChar(RichTextBox1.SelStart + i) 0 Then Exit For
j = j + 1
Next i
這個(gè) J 就對(duì)應(yīng)著光標(biāo)到該行結(jié)尾有幾個(gè)字符了,如果有需要可以使用,但一般不需要。
那么就像上面說的那樣,行列都求出來了,最后用事件和TEXT或者caption表現(xiàn)出來就好了
至于說總行數(shù)
RichTextBox1.GetLineFromChar(Len(RichTextBox1.Text)) + 1
通過對(duì)最后一個(gè)字符的位置(總長(zhǎng)度)的行來判斷唄,不過也得加一。
Visualbasic代碼編輯器沒有這個(gè)功能,但可以用第三方的編輯軟件Emedit來實(shí)現(xiàn)這個(gè)功能。
1、用Emedit打開*.frm文件。
2、點(diǎn)工具,當(dāng)前配置屬性,然后勾選顯示行號(hào)即可。