好文档 - 专业文书写作范文服务资料分享网站

DataGridView控件用法合集11

天下 分享 时间: 加入收藏 我要投稿 点赞

'セルの値を取得 Dim val As String = r.Cells(\ If Not String.IsNullOrEmpty(val) AndAlso _ Not Me.autoCompleteSource.Contains(val) Then 'オートコンプリートのリストに追加 autoCompleteSource.Add(val) End If Next r End Sub

'CellValueChangedイベントハンドラ

Private Sub DataGridView1_CellValueChanged(ByVal sender As Object, _ ByVal e As DataGridViewCellEventArgs) _ Handles DataGridView1.CellValueChanged

Dim dgv As DataGridView = CType(sender, DataGridView) '該当する列か調べる If dgv.Columns(e.ColumnIndex).Name = \Then 'セルの値を取得 Dim val As String = dgv(e.ColumnIndex, e.RowIndex).Value If Not String.IsNullOrEmpty(val) AndAlso _ Not Me.autoCompleteSource.Contains(val) Then 'オートコンプリートのリストに追加 autoCompleteSource.Add(val) End If End If End Sub [C#]

AutoCompleteStringCollection autoCompleteSource = new AutoCompleteStringCollection(); //EditingControlShowingイベントハンドラ

private void DataGridView1_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e) {

DataGridView dgv = (DataGridView)sender; if (e.Control is TextBox) {

//編集のために表示されているテキストボックスを取得 TextBox tb = (TextBox)e.Control; //該当する列か調べる if (dgv.CurrentCell.OwningColumn.Name == \ {

//オートコンプリートを有効にする tb.AutoCompleteMode = AutoCompleteMode.SuggestAppend; tb.AutoCompleteSource = AutoCompleteSource.CustomSource; tb.AutoCompleteCustomSource = this.autoCompleteSource; } else {

//オートコンプリートを無効にする tb.AutoCompleteMode = AutoCompleteMode.None; }

} }

//DataSourceChangedイベントハンドラ

private void DataGridView1_DataSourceChanged(object sender, EventArgs e) {

DataGridView dgv = (DataGridView)sender; //オートコンプリートのリストを初期化 this.autoCompleteSource.Clear();

//DataGridView内のデータをリストに追加 foreach (DataGridViewRow r in dgv.Rows) {

//セルの値を取得 string val = r.Cells[\as string; if (!string.IsNullOrEmpty(val) &&

!this.autoCompleteSource.Contains(val)) {

//オートコンプリートのリストに追加 autoCompleteSource.Add(val); } } }

//CellValueChangedイベントハンドラ

private void DataGridView1_CellValueChanged(object sender, DataGridViewCellEventArgs e) {

DataGridView dgv = (DataGridView)sender; //該当する列か調べる if (dgv.Columns[e.ColumnIndex].Name == \ {

//セルの値を取得 string val = dgv[e.ColumnIndex, e.RowIndex].Value as string; if (!string.IsNullOrEmpty(val) &&

!this.autoCompleteSource.Contains(val)) {

//オートコンプリートのリストに追加 autoCompleteSource.Add(val); } } }

53. DataGridView单元格编辑时键盘KEY事件取得 [VB.NET]

'EditingControlShowingイベントハンドラ

Private Sub DataGridView1_EditingControlShowing(ByVal sender As Object, _ ByVal e As DataGridViewEditingControlShowingEventArgs) _ Handles DataGridView1.EditingControlShowing

'表示されているコントロールがDataGridViewTextBoxEditingControlか調べる If TypeOf e.Control Is DataGridViewTextBoxEditingControl Then Dim dgv As DataGridView = CType(sender, DataGridView) '編集のために表示されているコントロールを取得 Dim tb As DataGridViewTextBoxEditingControl = _

CType(e.Control, DataGridViewTextBoxEditingControl) 'イベントハンドラを削除 RemoveHandler tb.KeyPress, AddressOf dataGridViewTextBox_KeyPress '該当する列か調べる If dgv.CurrentCell.OwningColumn.Name = \Then 'KeyPressイベントハンドラを追加 AddHandler tb.KeyPress, AddressOf dataGridViewTextBox_KeyPress End If End If End Sub

'DataGridViewに表示されているテキストボックスのKeyPressイベントハンドラ Private Sub dataGridViewTextBox_KeyPress(ByVal sender As Object, _ ByVal e As KeyPressEventArgs) _ Handles DataGridView1.KeyPress '数字しか入力できないようにする

If e.KeyChar < \ e.Handled = True End If End Sub [C#]

//EditingControlShowingイベントハンドラ

private void DataGridView1_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e) {

//表示されているコントロールがDataGridViewTextBoxEditingControlか調べる if (e.Control is DataGridViewTextBoxEditingControl) {

DataGridView dgv = (DataGridView)sender;

//編集のために表示されているコントロールを取得 DataGridViewTextBoxEditingControl tb =

(DataGridViewTextBoxEditingControl)e.Control; //イベントハンドラを削除 tb.KeyPress -= new KeyPressEventHandler(dataGridViewTextBox_KeyPress); //該当する列か調べる if (dgv.CurrentCell.OwningColumn.Name == \ {

//KeyPressイベントハンドラを追加 tb.KeyPress += new KeyPressEventHandler(dataGridViewTextBox_KeyPress); } } }

//DataGridViewに表示されているテキストボックスのKeyPressイベントハンドラ private void dataGridViewTextBox_KeyPress(object sender, KeyPressEventArgs e) {

//数字しか入力できないようにする if (e.KeyChar < '0' || e.KeyChar > '9') {

e.Handled = true; } }

54. DataGridView下拉框(ComboBox)单元格编辑时事件取得 [VB.NET]

Private dataGridViewComboBox As DataGridViewComboBoxEditingControl = Nothing 'EditingControlShowingイベントハンドラ

Private Sub DataGridView1_EditingControlShowing(ByVal sender As Object, _ ByVal e As DataGridViewEditingControlShowingEventArgs) _ Handles DataGridView1.EditingControlShowing

'表示されているコントロールがDataGridViewComboBoxEditingControlか調べる If TypeOf e.Control Is DataGridViewComboBoxEditingControl Then Dim dgv As DataGridView = CType(sender, DataGridView) '該当する列か調べる If dgv.CurrentCell.OwningColumn.Name = \Then '編集のために表示されているコントロールを取得 Me.dataGridViewComboBox = _ CType(e.Control, DataGridViewComboBoxEditingControl) 'SelectedIndexChangedイベントハンドラを追加 AddHandler Me.dataGridViewComboBox.SelectedIndexChanged, _ AddressOf dataGridViewComboBox_SelectedIndexChanged End If End If End Sub

'CellEndEditイベントハンドラ

Private Sub DataGridView1_CellEndEdit(ByVal sender As Object, _ ByVal e As DataGridViewCellEventArgs) _ Handles DataGridView1.CellEndEdit

'SelectedIndexChangedイベントハンドラを削除 If Not (Me.dataGridViewComboBox Is Nothing) Then RemoveHandler Me.dataGridViewComboBox.SelectedIndexChanged, _ AddressOf dataGridViewComboBox_SelectedIndexChanged Me.dataGridViewComboBox = Nothing End If End Sub

'DataGridViewに表示されているコンボボックスの 'SelectedIndexChangedイベントハンドラ

Private Sub dataGridViewComboBox_SelectedIndexChanged(ByVal sender As Object,ByVal e As EventArgs) '選択されたアイテムを表示

Dim cb As DataGridViewComboBoxEditingControl = _ CType(sender, DataGridViewComboBoxEditingControl) Console.WriteLine(cb.SelectedItem) End Sub [C#]

private DataGridViewComboBoxEditingControl dataGridViewComboBox = null; //EditingControlShowingイベントハンドラ

private void DataGridView1_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e) {

//表示されているコントロールがDataGridViewComboBoxEditingControlか調べる

if (e.Control is DataGridViewComboBoxEditingControl) {

DataGridView dgv = (DataGridView)sender; //該当する列か調べる if (dgv.CurrentCell.OwningColumn.Name == \ {

//編集のために表示されているコントロールを取得 this.dataGridViewComboBox =

(DataGridViewComboBoxEditingControl)e.Control; //SelectedIndexChangedイベントハンドラを追加 this.dataGridViewComboBox.SelectedIndexChanged += new EventHandler(dataGridViewComboBox_SelectedIndexChanged); } } }

//CellEndEditイベントハンドラ

private void DataGridView1_CellEndEdit(object sender, DataGridViewCellEventArgs e) {

//SelectedIndexChangedイベントハンドラを削除 if (this.dataGridViewComboBox != null) {

this.dataGridViewComboBox.SelectedIndexChanged -= new EventHandler(dataGridViewComboBox_SelectedIndexChanged); this.dataGridViewComboBox = null; } }

//DataGridViewに表示されているコンボボックスの //SelectedIndexChangedイベントハンドラ

private void dataGridViewComboBox_SelectedIndexChanged(object sender, EventArgs e) {

//選択されたアイテムを表示

DataGridViewComboBoxEditingControl cb =

(DataGridViewComboBoxEditingControl)sender; Console.WriteLine(cb.SelectedItem); }

55. DataGridView下拉框(ComboBox)单元格允许文字输入设定 [VB.NET]

'EditingControlShowingイベントハンドラ

Private Sub DataGridView1_EditingControlShowing(ByVal sender As Object, _ ByVal e As DataGridViewEditingControlShowingEventArgs) _ Handles DataGridView1.EditingControlShowing If TypeOf e.Control Is DataGridViewComboBoxEditingControl Then '該当する列か調べる Dim dgv As DataGridView = CType(sender, DataGridView) If dgv.CurrentCell.OwningColumn.Name = \Then '編集のために表示されているコントロールを取得 Dim cb As DataGridViewComboBoxEditingControl = _ CType(e.Control, DataGridViewComboBoxEditingControl)

DataGridView控件用法合集11

'セルの値を取得DimvalAsString=r.Cells(\IfNotString.IsNullOrEmpty(val)AndAlso_NotMe.autoCompleteSource.Contains(val)Then'オートコンプリートのリストに追
推荐度:
点击下载文档文档为doc格式
1hgyr5zd2f62h60030pu
领取福利

微信扫码领取福利

微信扫码分享