2013年4月12日金曜日

vb DataTable.Clear と DataTable.Rows.Clear. の違い

vb DataTable.Clear と DataTable.Rows.Clear. の違い

古い.Net 1.1バージョン、同じだったらしい。 DataRowCollection.Clearの処理の中、DataTable.Clearを呼び出す。

.Net 2.0違は違います。


参考In .Net 1.1, DataRowCollection.Clear calls DataTable.Clear
However, in .Net 2.0, there is a difference. If I understand the source correctly, DataTable.Clear will clear unattached rows (created using DataTable.NewRow) whereas DataRowCollection.Clear won't.
The difference is in RecordManager.Clear (source below, from the .Net Reference Source for v3.5 SP 0); clearAll is true only when called from DataTable.Clear.
    internal void Clear(bool clearAll) { 
        if (clearAll) {
            for(int record = 0; record < recordCapacity; ++record) { 
                rows[record] = null;
            }
            int count = table.columnCollection.Count;
            for(int i = 0; i < count; ++i) { 
                //

                DataColumn column = table.columnCollection[i]; 
                for(int record = 0; record < recordCapacity; ++record) {
                    column.FreeRecord(record); 
                }
            }
            lastFreeRecord = 0;
            freeRecordList.Clear(); 
        }
        else { // just clear attached rows 
            freeRecordList.Capacity = freeRecordList.Count + table.Rows.Count; 
            for(int record = 0; record < recordCapacity; ++record) {
                if (rows[record]!= null && rows[record].rowID != -1) { 
                    int tempRecord = record;
                    FreeRecord(ref tempRecord);
                }
            } 
        }
    }

2013年3月29日金曜日

vb datetimepickerから日本語曜日を取得する

vb datetimepickerから日本語曜日を取得する

Private Function GetDayOfWeekJp(ByVal  myDate As DateTimePicker) As String
        Return ("日月火水木金土").Substring(m_dtpNouhin.Value.DayOfWeek)
End Function

2013年3月27日水曜日

vb backcolorを規定のcontrolにする

vb backcolorを規定のcontrolにする

xxxx.Style.BackColor = SystemColors.Control