c# 數據表DataTable給devexpress的gridControl提供數據源


C# DataTable 詳解

參考:https://www.cnblogs.com/Sandon/p/5175829.html

http://blog.csdn.net/singgel/article/details/51833116

 1 namespace DXApplication1XtraTabControl
 2 {
 3     public partial class Form1 : DevExpress.XtraEditors.XtraForm
 4     {
 5         public Form1()
 6         {
 7             InitializeComponent();
 8 
 9         }
10         private DataTable CSUHInitDt()
11         {
12             DataTable csuhDt = new DataTable("CSUH");
13             csuhDt.Columns.Add("下限", typeof(double));
14             csuhDt.Columns.Add("上限", typeof(double));
15             csuhDt.Columns.Add("精度", typeof(double));
16             csuhDt.Rows.Add(new object [] { 0.50, 1.80, 0.01 });
17             csuhDt.Rows.Add(new object[] { 0.010, 0.250, 0.001 });
18             csuhDt.Rows.Add(new object[] { 0.01, 0.10, 0.01 });
19             csuhDt.Rows.Add(new object[] { 0.01, 0.49, 0.01 });
20             csuhDt.Rows.Add(new object[] { 0.20, 2.50, 0.01 });
21             csuhDt.Rows.Add(new object[] { 0.10, 1.00, 0.01 });
22             csuhDt.Rows.Add(new object[] { 0.1, 5.0, 0.1 });
23             csuhDt.Rows.Add(new object[] { 0.10, 1.25, 0.01 });
24             return csuhDt;
25         }
26         private void BindDataSource(DataTable dt)
27         {
28             //綁定DataTable
29             gridControl1.DataSource = dt;
30             //綁定DataSet
31             //gridControl1.DataSource = ds;
32             //gridControl1.DataMember = "表名";
33         }
34 
35         private void simpleButton1_Click(object sender, EventArgs e)
36         {
37             xtraTabControl1.SelectedTabPage = xtraTabPage2;
38             xtraTabControl3.SelectedTabPage = xtraTabPage7;
39         }
40 
41         
42 
43         private void simpleButton2_Click(object sender, EventArgs e)
44         {
45             xtraTabControl1.SelectedTabPage = xtraTabPage5;
46             BindDataSource(CSUHInitDt());
47         }
48 }
49 }
CSUH本構模型上下限

效果:

調試是在這個地方可以看到內容:

 

 

 datatable-Rows-結果視圖-[i]-ItemArray

 


  1 using System;
  2 using System.Collections.Generic;
  3 using System.ComponentModel;
  4 using System.Data;
  5 using System.Drawing;
  6 using System.Linq;
  7 using System.Text;
  8 using System.Windows.Forms;
  9 using System.Xml;
 10 
 11 namespace DXApplication1XtraTabControl
 12 {
 13     public partial class Form1 : DevExpress.XtraEditors.XtraForm
 14     {
 15         public Form1()
 16         {
 17             InitializeComponent();
 18 
 19         }
 20         private DataTable CSUHInitDt()
 21         {
 22             DataTable csuhDt = new DataTable("CSUH");
 23             csuhDt.Columns.Add("參數", typeof(string));
 24             csuhDt.Columns.Add("下限", typeof(double));
 25             csuhDt.Columns.Add("上限", typeof(double));
 26             csuhDt.Columns.Add("精度", typeof(double));
 27             csuhDt.Rows.Add(new object[] { "M", 0.50, 1.80, 0.01 });
 28             csuhDt.Rows.Add(new object[] {"λ", 0.010, 0.250, 0.001 });
 29             csuhDt.Rows.Add(new object[] { "κ",0.01, 0.10, 0.01 });
 30             csuhDt.Rows.Add(new object[] { "ν",0.01, 0.49, 0.01 });
 31             csuhDt.Rows.Add(new object[] {"N", 0.20, 2.50, 0.01 });
 32             csuhDt.Rows.Add(new object[] { "χ",0.10, 1.00, 0.01 });
 33             csuhDt.Rows.Add(new object[] {"m", 0.1, 5.0, 0.1 });
 34             csuhDt.Rows.Add(new object[] {"Z", 0.10, 1.25, 0.01 });
 35             return csuhDt;
 36         }
 37         private void BindDataSource(DataTable dt)
 38         {
 39             //綁定DataTable
 40             gridControl1.DataSource = dt;
 41             gridView1.OptionsCustomization.AllowColumnMoving = false;//如何讓各列頭禁止移動
 42             gridView1.OptionsCustomization.AllowFilter = false;//不允許過濾
 43             gridView1.OptionsCustomization.AllowSort = false;//不允許排序
 44             gridView1.OptionsCustomization.AllowGroup = false;//不允許分組
 45             gridView1.OptionsView.ShowGroupPanel = false;//不顯示組面板
 46             gridView1.OptionsSelection.MultiSelect = true;//可以多選
 47             gridView1.OptionsSelection.MultiSelectMode = 
 48                 DevExpress.XtraGrid.Views.Grid.GridMultiSelectMode.CheckBoxRowSelect;//RowSelect; //選擇模式MultiSelectMode = CheckBoxRowSelect,                                                          
 49             gridView1.OptionsView.ColumnAutoWidth = true;//列寬自動
 50             gridView1.OptionsCustomization.AllowColumnResizing = false;//不允許改變列寬
 51             gridView1.OptionsBehavior.Editable = true;//允許編輯
 52             gridView1.OptionsView.EnableAppearanceEvenRow = true;//設置奇、偶行交替顏色
 53             gridView1.OptionsView.EnableAppearanceOddRow = true;//設置奇、偶行交替顏色
 54             gridView1.Appearance.EvenRow.BackColor=Color.DeepSkyBlue;
 55             gridView1.Appearance.OddRow.BackColor = Color.CornflowerBlue;
 56             this.gridView1.IndicatorWidth = 30;//設置顯示行號的列寬
 57             MessageBox.Show((gridView1.GetDataRow(0)[0]).ToString ());//獲取第二行第二列數據,下標從零開始
 58 
 59 
 60             //.AllowFilter = False
 61             //綁定DataSet
 62             //gridControl1.DataSource = ds;
 63             //gridControl1.DataMember = "表名";
 64         }
 65 
 66         private void simpleButton1_Click(object sender, EventArgs e)
 67         {
 68             xtraTabControl1.SelectedTabPage = xtraTabPage2;
 69             xtraTabControl3.SelectedTabPage = xtraTabPage7;
 70         }
 71 
 72         
 73 
 74         private void simpleButton2_Click(object sender, EventArgs e)
 75         {
 76             xtraTabControl1.SelectedTabPage = xtraTabPage5;
 77             BindDataSource(CSUHInitDt());
 78         }
 79 
 80         private void simpleButton3_Click(object sender, EventArgs e)
 81         {
 82             ////創建xmldoc的xml文檔
 83             //XmlDocument xmldoc = new XmlDocument();
 84             ////加入XML的聲明段落:<?xmlversion="1.0" encoding="utf-8"?>
 85             //XmlDeclaration xmldecl = xmldoc.CreateXmlDeclaration("1.0", "utf-8", null);
 86             //xmldoc.AppendChild(xmldecl);
 87             ////創建根節點
 88             //XmlElement xmlroot = xmldoc.CreateElement("user");
 89             //xmldoc.AppendChild(xmlroot);
 90             ////創建根節點的子節點
 91             //XmlElement ePerson = xmldoc.CreateElement("person");
 92             //ePerson.SetAttribute("name:姓名", "張三");
 93             //ePerson.SetAttribute("年齡", "21");
 94             //ePerson.SetAttribute("身高", "168");
 95             //xmlroot.AppendChild(ePerson);
 96 
 97             //ePerson = xmldoc.CreateElement("person");
 98             //ePerson.SetAttribute("name:姓名", "李四");
 99             //ePerson.SetAttribute("年齡", "24");
100             //ePerson.SetAttribute("身高", "172");
101             //xmlroot.AppendChild(ePerson);
102 
103             //ePerson = xmldoc.CreateElement("person");
104             //ePerson.SetAttribute("name:姓名", "趙六");
105             //ePerson.SetAttribute("年齡", "29");
106             //ePerson.SetAttribute("身高", "178");
107             //xmlroot.AppendChild(ePerson);
108 
109             //ePerson = xmldoc.CreateElement("person");
110             //ePerson.SetAttribute("姓名", "王麻子");
111             //ePerson.SetAttribute("年齡", "25");
112             //ePerson.SetAttribute("身高", "198");
113             //xmlroot.AppendChild(ePerson);
114             //ePerson.Attributes["姓名"].Value = "豬豬";//直接就可以最后一個person的姓名改為“豬豬”
115 
116             //創建xmldoc的xml文檔
117             XmlDocument xmldoc = new XmlDocument();
118             //加入XML的聲明段落:<?xmlversion="1.0" encoding="utf-8"?>
119             XmlDeclaration xmldecl = xmldoc.CreateXmlDeclaration("1.0", "utf-8", null);
120             xmldoc.AppendChild(xmldecl);
121             //創建根節點
122             XmlElement xmlroot = xmldoc.CreateElement("CSUH");
123             xmldoc.AppendChild(xmlroot);
124             //創建根節點的子節點
125             XmlElement eParameter = xmldoc.CreateElement("M");
126             eParameter.SetAttribute("下限", "0.50");
127             eParameter.SetAttribute("上限", "1.80");
128             eParameter.SetAttribute("步長", "0.01");
129             xmlroot.AppendChild(eParameter);
130 
131             eParameter = xmldoc.CreateElement("λ");
132             eParameter.SetAttribute("下限", "0.010");
133             eParameter.SetAttribute("上限", "0.250");
134             eParameter.SetAttribute("步長", "0.001");
135             xmlroot.AppendChild(eParameter);
136 
137             eParameter = xmldoc.CreateElement("κ");
138             eParameter.SetAttribute("下限", "0.01");
139             eParameter.SetAttribute("上限", "0.10");
140             eParameter.SetAttribute("步長", "0.01");
141             xmlroot.AppendChild(eParameter);
142 
143             eParameter = xmldoc.CreateElement("ν");
144             eParameter.SetAttribute("下限", "0.01");
145             eParameter.SetAttribute("上限", "0.49");
146             eParameter.SetAttribute("步長", "0.01");
147             xmlroot.AppendChild(eParameter);
148 
149             eParameter = xmldoc.CreateElement("N");
150             eParameter.SetAttribute("下限", "0.20");
151             eParameter.SetAttribute("上限", "2.50");
152             eParameter.SetAttribute("步長", "0.01");
153             xmlroot.AppendChild(eParameter);
154 
155             eParameter = xmldoc.CreateElement("χ");
156             eParameter.SetAttribute("下限", "0.10");
157             eParameter.SetAttribute("上限", "1.00");
158             eParameter.SetAttribute("步長", "0.01");
159             xmlroot.AppendChild(eParameter);
160 
161             eParameter = xmldoc.CreateElement("m");
162             eParameter.SetAttribute("下限", "0.1");
163             eParameter.SetAttribute("上限", "5.0");
164             eParameter.SetAttribute("步長", "0.1");
165             xmlroot.AppendChild(eParameter);
166 
167             eParameter = xmldoc.CreateElement("Z");
168             eParameter.SetAttribute("下限", "0.10");
169             eParameter.SetAttribute("上限", "1.25");
170             eParameter.SetAttribute("步長", "0.01");
171             xmlroot.AppendChild(eParameter);
172 
173 
174             ////設置屬性以及文本節點
175             ////方法一
176             
177             //person1.SetAttribute("name", "張三");
178             ////方法二:這種方法可以用來獲取和設置屬性值,但前提是該屬性要存在
179             //person2.Attributes["name"].Value = "張三三";
180 
181 
182 
183 
184             //保存創建好的XML文檔
185             xmldoc.Save(@"D:\CSUH.xml");
186             MessageBox.Show("xml輸出完成!", "提醒");
187         }
188 
189         private void gridControl1_Click(object sender, EventArgs e)
190         {
191             //if (e.Info.IsRowIndicator && e.RowHandle >= 0)
192             //{
193             //    e.Info.DisplayText = (e.RowHandle + 1).ToString();
194             //}    
195         }
196         //顯示行號
197         private void gridView1_CustomDrawRowIndicator(object sender, DevExpress.XtraGrid.Views.Grid.RowIndicatorCustomDrawEventArgs e)
198         {
199             if (e.Info.IsRowIndicator && e.RowHandle >= 0)
200             {
201                 e.Info.DisplayText = (e.RowHandle + 1).ToString();
202             }
203         }
204         //單元的值變化的時候引起的事件
205         private void gridView1_CellValueChanged(object sender, DevExpress.XtraGrid.Views.Base.CellValueChangedEventArgs e)
206         {
207             string s = string.Format("第{0}行,第{1}列,值改變為:{2:F5}。", e.RowHandle.ToString(), e.Column.VisibleIndex.ToString(), (e.Value).ToString());
208             MessageBox.Show(s);
209            
210         }
211         //得到GridControl單元格的值: string d =gridView1.GetRowCellDisplayText(i,col); i代表行號,col代表標題
212 
213 
214 
215     }
216 
217 
218 }
代碼設定我需要的gridcontrol格式

效果如下:

 

 

 

 


 


 

 https://jingyan.baidu.com/article/25648fc1d46dfb9191fd00c0.html

 

 

 

1             //綁定DataTable
2             gridControl1.DataSource = dt;
3             gridView1.OptionsCustomization.AllowColumnMoving = false;//如何讓各列頭禁止移動
4             gridView1.OptionsCustomization.AllowFilter = false;//不允許過濾
5             gridView1.OptionsCustomization.AllowSort = false;//不允許排序
6             gridView1.OptionsCustomization.AllowGroup = false;//不允許分組
7             gridView1.OptionsView.ShowGroupPanel = false;//不顯示組面板
8             gridView1.OptionsSelection.MultiSelect = true;//可以多選
gridcontrol-gridview各種設置

 

添加行號:

 

 參考:http://www.cnblogs.com/liulunet/archive/2011/08/08/2131227.html

取第三行第三列單元格的值:
gridView2.GetDataRow(2)[2]
1         private void gridView1_CustomDrawRowIndicator(object sender, DevExpress.XtraGrid.Views.Grid.RowIndicatorCustomDrawEventArgs e)
2         {
3             if (e.Info.IsRowIndicator && e.RowHandle >= 0)
4             {
5                 e.Info.DisplayText = (e.RowHandle + 1).ToString();
6             }
7         }
gridcontrol-GridView顯示行號
4.得到GridControl的列數
int a =gridView1.Columns.Count;
5.得到GridControl的行數
int b =gridView1.RowCount;
6.得到GridControl的列標題的值
DevExpress.XtraGrid.Columns.GridColumn col = gridView1.Columns[0];第一個列表題
7.得到GridControl單元格的值:
string d =gridView1.GetRowCellDisplayText(i,col); i代表行號,col代表標題
string e =gridView1.GetFocusedRowCellValue("字段名");

 

DevExtreme視頻教程集合 打開就可以看哦  http://www.360doc.com/content/14/0314/16/10893884_360567006.shtml


 

添加引用

using System.Data;

創建表

//創建一個空表
DataTable dt = new DataTable();
//創建一個名為"Table_New"的空表
DataTable dt = new DataTable("Table_New");

創建列

復制代碼
//1.創建空列
DataColumn dc = new DataColumn();
dt.Columns.Add(dc);
//2.創建帶列名和類型名的列(兩種方式任選其一)
dt.Columns.Add("column0", System.Type.GetType("System.String"));
dt.Columns.Add("column0", typeof(String));
//3.通過列架構添加列
DataColumn dc = new DataColumn("column1",System.Type.GetType("System.DateTime"));
DataColumn dc = new DataColumn("column1", typeof(DateTime));
dt.Columns.Add(dc);
復制代碼

創建行

復制代碼
//1.創建空行
DataRow dr = dt.NewRow();
dt.Rows.Add(dr);
//2.創建空行
dt.Rows.Add();
//3.通過行框架創建並賦值
dt.Rows.Add("張三",DateTime.Now);//Add里面參數的數據順序要和dt中的列的順序對應 
//4.通過復制dt2表的某一行來創建
dt.Rows.Add(dt2.Rows[i].ItemArray);
復制代碼

賦值和取值

復制代碼
//新建行的賦值
DataRow dr = dt.NewRow();
dr[0] = "張三";//通過索引賦值
dr["column1"] = DateTime.Now; //通過名稱賦值
//對表已有行進行賦值
dt.Rows[0][0] = "張三"; //通過索引賦值
dt.Rows[0]["column1"] = DateTime.Now;//通過名稱賦值
//取值
string name=dt.Rows[0][0].ToString();
string time=dt.Rows[0]["column1"].ToString();
復制代碼
 
 
 
 
 
 
 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM