巧用DataGridView控制元件構建快速輸入體驗
一個不錯的DataGridView資料視窗控制元件《DataGridView資料視窗控制元件開發方法及其原始碼提供下載》,這種控制元件在有些場合下,還是非常直觀的。因為,在一般要求客戶錄入資料的地方,一般有兩種途徑,其一是通過彈出一個新的視窗,在裡面列出各種需要輸入的要素,然後儲存的,如下圖所示;
其二就是直接在DataGridView中直接輸入。這兩種方式各有優劣,本文介紹採用該控制元件實現第二種模式的資料資料。如下圖所示
這種方式,直接通過在DataGridView中下拉選單或者文字框中輸入內容,每列的資料可以聯動或者做限制,實現使用者資料的約束及規範化。
控制元件只要接受了DataTable的DataSource之後,會根據列的HeadText內容,顯示錶格的標題及內容,應用還是比較直觀方便的。
#div_code img{border:0px;}<!--
Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/
-->private void BindGridViewData(DataTable dt, DataTable dtNoRelation)
{
organTable = dt;
noRelationTable = dtNoRelation;
DataGridView dataGridView1 = new DataGridView();
this.groupBox1.Controls.Clear();
this.groupBox1.Controls.Add(dataGridView1);
dataGridView1.Dock = DockStyle.Fill;
dataGridView1.CellValueChanged +=new DataGridViewCellEventHandler(organDataGridView_CellValueChanged);
dataGridView1.UserDeletedRow += new DataGridViewRowEventHandler(organDataGridView_UserDeletedRow);
dataGridView1.AutoGenerateColumns = false;
dataGridView1.Rows.Clear();
dataGridView1.Columns.Clear();
DataGridViewDataWindowColumn col1 = new DataGridViewDataWindowColumn();
col1.HeaderText = "機構程式碼";
col1.Name = "機構程式碼";
//下拉選單的資料
col1.DataSource = GetDataTable(dtNoRelation);
dataGridView1.Columns.Add(col1);
DataGridViewTextBoxColumn col2 = new DataGridViewTextBoxColumn();
col2.HeaderText = "機構名稱";
col2.Name = "機構名稱";
col2.Width = 300;
col2.ReadOnly = true;
dataGridView1.Columns.Add(col2);
if (dt != null)
{
foreach (DataRow dr in dt.Rows)
{
string value = dr[0].ToString();
DataGridViewRow row = new DataGridViewRow();
DataGridViewDataWindowCell cell = new DataGridViewDataWindowCell();
cell.Value = value;
row.Cells.Add(cell);
cell.DropDownHeight = 400;
cell.DropDownWidth = 300;
DataGridViewTextBoxCell cell2 = new DataGridViewTextBoxCell();
cell2.Value = dr[1].ToString();
row.Cells.Add(cell2);
dataGridView1.Rows.Add(row);
}
}
}
Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/
-->private void BindGridViewData(DataTable dt, DataTable dtNoRelation)
{
organTable = dt;
noRelationTable = dtNoRelation;
DataGridView dataGridView1 = new DataGridView();
this.groupBox1.Controls.Clear();
this.groupBox1.Controls.Add(dataGridView1);
dataGridView1.Dock = DockStyle.Fill;
dataGridView1.CellValueChanged +=new DataGridViewCellEventHandler(organDataGridView_CellValueChanged);
dataGridView1.UserDeletedRow += new DataGridViewRowEventHandler(organDataGridView_UserDeletedRow);
dataGridView1.AutoGenerateColumns = false;
dataGridView1.Rows.Clear();
dataGridView1.Columns.Clear();
DataGridViewDataWindowColumn col1 = new DataGridViewDataWindowColumn();
col1.HeaderText = "機構程式碼";
col1.Name = "機構程式碼";
//下拉選單的資料
col1.DataSource = GetDataTable(dtNoRelation);
dataGridView1.Columns.Add(col1);
DataGridViewTextBoxColumn col2 = new DataGridViewTextBoxColumn();
col2.HeaderText = "機構名稱";
col2.Name = "機構名稱";
col2.Width = 300;
col2.ReadOnly = true;
dataGridView1.Columns.Add(col2);
if (dt != null)
{
foreach (DataRow dr in dt.Rows)
{
string value = dr[0].ToString();
DataGridViewRow row = new DataGridViewRow();
DataGridViewDataWindowCell cell = new DataGridViewDataWindowCell();
cell.Value = value;
row.Cells.Add(cell);
cell.DropDownHeight = 400;
cell.DropDownWidth = 300;
DataGridViewTextBoxCell cell2 = new DataGridViewTextBoxCell();
cell2.Value = dr[1].ToString();
row.Cells.Add(cell2);
dataGridView1.Rows.Add(row);
}
}
}
相關文章
- 淺談遊戲體驗構建遊戲
- 效能調優的Windows窗體DataGridView控制元件WindowsView控制元件
- DataGridView控制元件用法合集View控制元件
- gitbook 入門教程之快速體驗Git
- 輕鬆構建遊戲登入能力,打造玩家流暢體驗遊戲
- Word中快速輸入上下標的五則經驗(轉)
- 巧用 CSS 構建漸變彩色二維碼CSS
- python中快速驗證輸入的是否為迴文Python
- 使用Cloud DB構建APP 快速入門 - iOS篇CloudAPPiOS
- DataGridView控制元件 1129View控制元件
- 一文快速入門體驗 Hibernate
- 巧用WPS下拉選單快速錄入資料
- JS數量輸入控制元件JS控制元件
- 巧用窗體控制元件完成表格規範化填寫控制元件
- 快速構建Hadoop的入門練手環境Hadoop
- pytorch入門2.2構建迴歸模型初體驗(開始訓練)PyTorch模型
- 從 DataGridView 控制元件 託放資料 到 TreeView控制元件View控制元件
- 再來篇輸入驗證+重啟驗證的軟體破解
- webpack快速構建專案Web
- Flutter 密碼輸入框 驗證碼輸入框Flutter密碼
- lapis的輸入驗證API
- PHP--輸入驗證PHP
- Jquery檢驗輸入值jQuery
- 輸入表單驗證
- c#之datagridview控制元件(1)_小記C#View控制元件
- 如何在Mac上快速輸入特殊符號?Mac快速輸入特殊符號小技巧Mac符號
- 從 DataGridView 控制元件 託放資料 到 TreeView控制元件(二)View控制元件
- 人臉檢測中,如何構建輸入影像金字塔
- tkinter中entry輸入控制元件(四)控制元件
- 登入驗證碼生成kaptcha(輸入驗證碼)APT
- Judo:使用無程式碼構建原生應用體驗
- GraphQL初體驗,Node.js構建GraphQL API指南Node.jsAPI
- vscode快速構建Flutter專案+熱載入除錯VSCodeFlutter除錯
- js 校驗輸入框還可以輸入多少個字JS
- 快速構建vue ui元件庫VueUI元件
- Apache RocketMQ + Hudi 快速構建 LakehouseApacheMQ
- 如何快速構建React元件庫React元件
- iPhone快速切換表情輸入法iPhone