WPF 中DataGrid的应用
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WPF 中DataGrid的应用相关的知识,希望对你有一定的参考价值。
1.DataGrid如何定一个“序号”列,根据显示的记录数由1递增?
2.如何通过DataGridHyperlinkColumn 获取参数跳转至其他页面?
点击相应的列能跳转就可以了
感谢各位的回答。 kangkinglee 按照你的方法convert报错了?
对于1,在WPF的DataGrid中没有显示的自动增加的字段属性,因为DataGrid是用多个基本控件组合而成,datagridrow有个getIndex()方法可以获得当前的row的Index,所以写个convert即可。
对于2,对于Hyperlink来说,将它放入Page或者frame,或者NavagiteWindow的容器中,系统会自动打开连接的内容,附上代码
Converter.cs
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
DataGridRow row = (DataGridRow)value;
var temp = row.GetIndex();
return temp+1;
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
throw new NotImplementedException();
//xaml
<Frame Grid.Row="5">
<Frame.Content>
<DataGrid Name="dataGrid" AutoGenerateColumns="False">
<DataGrid.Columns>
<DataGridTextColumn Header="序号"
Binding="Binding Converter=StaticResource ResourceKey=debugConverter,RelativeSource=RelativeSource AncestorType=DataGridRow, Mode=FindAncestor,Mode=OneWay">
</DataGridTextColumn>
<DataGridHyperlinkColumn Header="点击链接" Binding="Binding Address">
</DataGridHyperlinkColumn>
</DataGrid.Columns>
</DataGrid>
</Frame.Content>
</Frame>
//xaml.cs
public MainWindow()
InitializeComponent();
List<Baidu> list1 = new List<Baidu> new Baidu Address = new Uri("http://www.baidu.com") ;
dataGrid.ItemsSource = list1;
//MessageBox.Show(dataGrid.Items.Count.ToString());
public class Baidu
public Uri Address get; set;
参考技术A 1.这个需要手动吧?给个复制的按钮.然后在内存表中做操作,再复制给你需要粘贴的datagrid.
2.如果你想把内容写到剪切板中,那还要规范数据类型和格式,那个就比较麻烦了.
我不知道你想要的效果是前者还是后者? 参考技术B 有一个datakeyNames属性,把表里的主键名写入就行了(主键一般都是自动增长列)本回答被提问者和网友采纳 参考技术C 在DataGrid中增加如下设置AutoGenerateColumns="False" 参考技术D 1.这个用索引号
2.你做的是web?
以上是关于WPF 中DataGrid的应用的主要内容,如果未能解决你的问题,请参考以下文章
在 C# WPF 中从 MySQL 数据库中填充 dataGrid
使用 TextBox 和 DatePicker 元素过滤 WPF DataGrid 行