如何将选中的DataGrid里面的数据显示在textBox里面

u010210356 2013-10-17 11:01:24
我找了一上午了 都是WINDOW窗体的 里面的方法在WPF里都不行
...全文
819 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Bonjour-你好 2013-10-17
  • 打赏
  • 举报
回复
选中行的每一列的数据还是某一列?如果你有测试数据(代码)和详细描述想要的结果,这样提问会更好
大黄鸭在发光 2013-10-17
  • 打赏
  • 举报
回复
你的意思是datagrid里的某一列显示为文本框吧,只要定义这个列的CellTemplate就可以了 <DataGrid.Columns> <data:DataGridTemplateColumn> <data:DataGridTemplateColumn.CellTemplate> <DataTemplate> <Grid > <TextBlock FontWeight="Bold"/> </Grid> </DataTemplate> </data:DataGridTemplateColumn.CellTemplate> </data:DataGridTemplateColumn> </DataGrid.Columns>
Bonjour-你好 2013-10-17
  • 打赏
  • 举报
回复
引用 5 楼 u010210356 的回复:
public DataSet ds = new DataSet();
InitializeComponent();
//定义数据集对象


SqlDataAdapter adapter = null;

//创建数据库辅助类
DBHelper db = new DBHelper();
db.OpenConnection();
////创建SQL语句
string sql = "select * from [电梯资料档案]";
////实例化SqlDataAdapter对象
adapter = new SqlDataAdapter(sql, db.Conn);
adapter.Fill(ds, "电梯资料档案");
this.dataGrid.AutoGenerateColumns = true;
this.dataGrid.ItemsSource = ds.Tables[0].DefaultView;

我想获取选中的某一行中单元的数据 分别显示在TEXTBOX中
其实就是怎么获取选中行的单元格的数据
已经困扰我一天了,我是新手 刚开始学C#不久 麻烦大神再看下


先把DataGrid的SelectionUnit设置为Cell模式
this.dataGrid.SelectionUnit = DataGridSelectionUnit.Cell;


然后利用DataGrid的SelectedCellsChanged事件:
        private void dataGrid1_SelectedCellsChanged(object sender, SelectedCellsChangedEventArgs e)
{
DataGrid dg = sender as DataGrid;
var cell = dg.CurrentCell;
DataRowView item = cell.Item as DataRowView;
if (item != null) {
this.textBox1.Text = item[cell.Column.DisplayIndex].ToString();
}
}

u010210356 2013-10-17
  • 打赏
  • 举报
回复
引用 4 楼 KumaPower 的回复:
[quote=引用 3 楼 u010210356 的回复:] 是选中某一行的数据后 能够把这一行的数据单独显示在另外的textbox框中 在WINFORM里面 可以这样写 this.textBox1.Text = this.dataGridView1[[第几列,第几行].Value.ToString(); 但是在WPF里面找不到对应的属性
用DataGrid的SelectionChanged 事件吧。
        private void dataGrid1_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            Person p = this.dataGrid1.SelectedItem as Person;  //选中项,Person类为DataGrid绑定数据集合中的类型
            if (p != null) {
                this.textBox1.Text = "Name:" + p.Name + "    Age:" + p.Age;
            }
        }
[/quote] public DataSet ds = new DataSet(); InitializeComponent(); //定义数据集对象 SqlDataAdapter adapter = null; //创建数据库辅助类 DBHelper db = new DBHelper(); db.OpenConnection(); ////创建SQL语句 string sql = "select * from [电梯资料档案]"; ////实例化SqlDataAdapter对象 adapter = new SqlDataAdapter(sql, db.Conn); adapter.Fill(ds, "电梯资料档案"); this.dataGrid.AutoGenerateColumns = true; this.dataGrid.ItemsSource = ds.Tables[0].DefaultView; 我想获取选中的某一行中单元的数据 分别显示在TEXTBOX中 其实就是怎么获取选中行的单元格的数据 已经困扰我一天了,我是新手 刚开始学C#不久 麻烦大神再看下
Bonjour-你好 2013-10-17
  • 打赏
  • 举报
回复
引用 3 楼 u010210356 的回复:
是选中某一行的数据后 能够把这一行的数据单独显示在另外的textbox框中
在WINFORM里面 可以这样写 this.textBox1.Text = this.dataGridView1[[第几列,第几行].Value.ToString();

但是在WPF里面找不到对应的属性


用DataGrid的SelectionChanged 事件吧。
        private void dataGrid1_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
Person p = this.dataGrid1.SelectedItem as Person; //选中项,Person类为DataGrid绑定数据集合中的类型
if (p != null) {
this.textBox1.Text = "Name:" + p.Name + " Age:" + p.Age;
}
}

u010210356 2013-10-17
  • 打赏
  • 举报
回复
引用 2 楼 KumaPower 的回复:
选中行的每一列的数据还是某一列?如果你有测试数据(代码)和详细描述想要的结果,这样提问会更好
是选中某一行的数据后 能够把这一行的数据单独显示在另外的textbox框中 在WINFORM里面 可以这样写 this.textBox1.Text = this.dataGridView1[[第几列,第几行].Value.ToString(); 但是在WPF里面找不到对应的属性

8,756

社区成员

发帖
与我相关
我的任务
社区描述
WPF/Silverlight相关讨论
社区管理员
  • WPF/Silverlight社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧