DataGridView中的SQL数据
嘿伙计们,我有一个应用程序,我想在DataGridView中显示来自sql db的一些数据…我现在在DataGridView中显示数据但是这里是我的问题…我怎样才能使用自定义标题标题,因为我不希望SQL列标题用于DataGridView列标题。 此外,我想要它,以便当用户双击一行时,它将从该行打开filePath值…我还希望能够指定列的宽度。 以下是表格的布局方式。
SQL表:Row_ID(我不希望在网格中显示),PartNumber,CMMNumber,CreatedOn,FilePath,RacfId,currTime
数据网格视图所需格式:部件号,CMM号,创建时间,路径,用户ID,已查看
当前代码 – 它获取数据(全部,包括Row_ID)并使用sql列名称作为数据网格视图列的名称,它也只使用默认列宽。
private void NewAlert_Load(object sender, EventArgs e) { string connString = "Server=FRXSQLDEV;Database=MyDB;User Id=ID;Password=Password;"; string query = "SELECT * FROM CMMReports WHERE RacfId IS NULL;"; SqlDataAdapter dAdapter = new SqlDataAdapter(query, connString); SqlCommandBuilder cBuilder = new SqlCommandBuilder(dAdapter); DataTable dTable = new DataTable(); dAdapter.Fill(dTable); //BindingSource to sync DataTable and DataGridView BindingSource bSource = new BindingSource(); //set the BindingSource DataSource bSource.DataSource = dTable; //set the DataGridView DataSource dgView.DataSource = bSource; dAdapter.Update(dTable); }
如果要使用自定义标题等。首先创建一个新的数据表,并给出名称。 小心typeof()
DataTable dt = new DataTable(); dt.Columns.Add("Title 1",typeof(int)); dt.Columns.Add("Title 2", typeof(string)); dt.Columns.Add("Title 3", typeof(DateTime)); dt.Columns.Add("Title 4", typeof(bool)); dt.AcceptChanges();
获取来自SQL的所有数据并为其创建对象
foreach(yourSqlData中的var项)
object[] row = new object[] { item.data1.ToString(), // string columns Convert.ToInt32(item.data2), // int columns Convert.ToDateTime(item.data3), // datetime column Convert.ToBoolean(item.data4) // bool column }; dt.Rows.Add(row);
并将dt绑定到gridView
为了隐藏你的列(“Row_ID”)你可以使用
dgView.Columns[0].Visible = false;
用于设置标题文本
上述就是C#学习教程:DataGridView中的SQL数据分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
dgView.Columns[1].HeaderText = "PartNumber";
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/990000.html