使用DataTable来绑定DataGrid,
DataTable 的数据由Hashtable中获取
DataTable 的数据由Hashtable中获取
解决方案 »
- 什么才是面向对象?
- c# 窗体启动的时候 提示 调用的目标发生了异常
- C#做的抓数据的功能
- Using语句块关闭连接问题!!!!!!!急
- XmlSerializer序列化对象,但是保存不了值到Xml文件。
- 我的C#应用程序在繁体的XP操作系统上,窗体的大小发生了变化!!!请帮帮忙解决一下!
- 在Picturebox里按上次高手指教的那样画了几个矩形,现在是这样的,我想将鼠标移动到那些矩形上时,鼠标改变形状???
- 多窗口关闭问题
- 哪里有.net2.0做的留言本教程啊?学.net有n天了,结果什么都不懂,想学啊。
- zhangbat,谢谢你的资料,请接分
- 小弟请教各位高手一个面试的问题,先谢谢了!
- 求救,一个中日问题!
说得没错,你就自己用程序来生成一个与datagrid对应的datatable,最后用这个datatable做数据源。
透过这个新的datatable来控制datagrid显示,没必要直接控制datagrid比如:
private void Form1_Load(object sender, System.EventArgs e)
{
// 自己订制一个datatable.
codeDataTable = new DataTable("CodeTable");
codeDataTable.Columns.Add("Modifier");
codeDataTable.Columns.Add("PropertyName");
codeDataTable.Columns.Add("Type");
codeDataTable.Columns.Add("Comment");
dataGrid1.DataSource = codeDataTable;
comboBox1.Text = comboBox1.Items[0].ToString();
}
// 操作这个datatable.
private void dataGrid1_MouseDown(object sender, MouseEventArgs e)
{
DataGrid myGrid = (DataGrid) sender;
DataGrid.HitTestInfo hitInfo = myGrid.HitTest(e.X, e.Y);
int col = hitInfo.Column;
int row = hitInfo.Row;
if( hitInfo.Type == DataGrid.HitTestType.Cell )
{
if( row > codeDataTable.Rows.Count - 1 || ( row == 0 && codeDataTable.Rows.Count == 0) )
{// 添加一个新行。
string[] defaultValue = {this.defaultModifier , this.defaultPropertyName , this.defalutType };
codeDataTable.Rows.Add(defaultValue);
myGrid.Update();
}
} }//其实,操作datatable比操作datagrid里的数据简单多了。