求教Datagrid控件
wpf吧
全部回复
仅看楼主
level 5
一个Datagrid 控件:3行N列 ,我想用
(第1行第1列+
第2行第1列+
第3行第1列)/3,求平均,把结果放在第2行的第2列中,应该怎么写?
2019年01月23日 09点01分 1
level 5
ObservableCollection<DataRow> dataRows = new ObservableCollection<DataRow>(){datarow1,datarow2,datarow3};
datarow2.secendCellValue = (datarow1.firstCellValue + datarow2.firstCellValue + datarow3.firstCellValue)/3;
2019年01月28日 08点01分 2
提示:Datarow 未能找到类型或命名空间。
2019年02月01日 13点02分
这个dotarow是你绑定到grid的对象
2019年02月01日 16点02分
@情感禁区110 datagrid控件绑定的那个itemsouce的item类型
2019年02月01日 16点02分
@悠小蛤 好的谢谢。
2019年02月04日 04点02分
level 5
回复 悠小蛤 :
<Window x:Class="test.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:test"
mc:Ignorable="d"
Title="MainWindow" Height="350" Width="525" WindowState="Maximized">
<Grid>
<Grid Margin="0" Width="517" HorizontalAlignment="Left" VerticalAlignment="Top" >
<Grid.RowDefinitions>
<RowDefinition Height="5*"/>
<RowDefinition Height="27*"/>
</Grid.RowDefinitions>
<DockPanel Margin="0" Grid.Row="0" HorizontalAlignment="Left" VerticalAlignment="Top" />
<Grid Grid.Row="0">
<StackPanel HorizontalAlignment="Left" VerticalAlignment="Top" >
<Menu x:Name="menu" FontWeight="Bold" Background="Black" Foreground="White" Width="530" HorizontalAlignment="Left" VerticalAlignment="Top">
<MenuItem Header="文件" Height="30" FontSize="20" Width="67" >
<MenuItem Header="niaho" HorizontalAlignment="Left" Width="194" Foreground="Black" Click="MenuItem_Click_1" />
<MenuItem Header="打开" HorizontalAlignment="Left" Width="194" Foreground="Black" Click="MenuItem_Click_2" />
</MenuItem>
<MenuItem Header="结果" Height="30" FontSize="20" Width="67" >
<MenuItem Header="查看" HorizontalAlignment="Left" Width="194" Foreground="Black" Click="MenuItem_Click"/>
</MenuItem>
<MenuItem Header="备注" Height="30" FontSize="20" Width="67" />
<MenuItem Header="帮助" Height="30" FontSize="20" Width="67" />
</Menu>
</StackPanel>
</Grid>
</Grid>
<Label x:Name="label" Content="" HorizontalAlignment="Left" VerticalAlignment="Top" Width="126" BorderThickness="20"/>
</Grid>
</Window>
2019年02月13日 00点02分 3
level 5
namespace test
{
/// <summary>
/// MainWindow.xaml 的交互逻辑
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private void MenuItem_Click(object sender, RoutedEventArgs e)
{
var dialog = new Window1();
dialog.ShowDialog();
}
private void MenuItem_Click_1(object sender, RoutedEventArgs e)
{
MessageBox.Show("nihao");
}
private void MenuItem_Click_2(object sender, RoutedEventArgs e)
{
Microsoft.Win32.OpenFileDialog dialog =
new Microsoft.Win32.OpenFileDialog();
dialog.Filter = "文本文件|*.txt";
if (dialog.ShowDialog() == true)
{
label.Content = dialog.FileName;
}
}
}
}
2019年02月13日 00点02分 4
level 5
<Window x:Class="test.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:test"
mc:Ignorable="d"
Title="Window1" Height="500" Width="1000">
<Grid Margin="0,0,2,-5">
<Grid.RowDefinitions>
<RowDefinition Height="20*"/>
<RowDefinition Height="96*"/>
<RowDefinition Height="96*"/>
<!--<RowDefinition Height="75*"/>-->
</Grid.RowDefinitions>
<DataGrid Name="DG1" ItemsSource="{Binding}" AutoGenerateColumns="False" Grid.Row="0" SelectionUnit="CellOrRowHeader" Grid.RowSpan="2" >
<DataGrid.Columns>
<DataGridTextColumn Header="a1" Binding="{Binding a}" />
<DataGridTextColumn Header="b2" Binding="{Binding b}" />
<DataGridHyperlinkColumn Header="平均" Binding="{Binding c}" />
<DataGridTextColumn Header="Column4" Binding="{Binding IsMember}" />
</DataGrid.Columns>
</DataGrid>
<Button x:Name="button" Content="打印" HorizontalAlignment="Left" Margin="49,10,0,0" Grid.Row="2" VerticalAlignment="Top" Width="75" Click="button_Click" Height="22"/>
<Label x:Name="qq" Content="Label123" HorizontalAlignment="Left" Margin="153,10,0,0" Grid.Row="2" VerticalAlignment="Top" Width="48" Height="26"/>
</Grid>
</Window>
2019年02月13日 00点02分 5
level 5
namespace test
{
/// <summary>
/// Window1.xaml 的交互逻辑
/// </summary>
public partial class Window1 : Window
{
public Window1()
{
InitializeComponent();
// 向容器中添加数据
this.DG1.DataContext = InitCustomerData;
}
List<Customer> InitCustomerData = new List<Customer>
{
new Customer
{
a=12,
b=14,
IsMember=false
},
new Customer
{
a=12,
b=14,
IsMember=false
},
new Customer
{
a=20,
b=14,
IsMember=false
},
};
public class Customer
{
//DataRowView selectItem = DG1.items[索引] as DataRowView;
public int a { get; set; }
public int b { get; set; }
// private int ce;
public int c
{
get { return (a + b) / 2; }
set{ }
}
public bool IsMember { get; set; }
// public OrderStatus Status { get; set; }
}
private void button_Click(object sender, RoutedEventArgs e)
{
// label.Content = Console.WriteLine(DG1.CurrentCell.Value);
PrintDialog printdialog = new PrintDialog();
if (printdialog.ShowDialog() == true)
{
printdialog.PrintVisual(DG1, "print test");
}
}
}
}
2019年02月13日 00点02分 6
level 5
我发的有点乱,大意就是在MAINwindow的菜单项里的"查看",可以调出来window1的Datagrid1.,从而实现所求助的功能 。
2019年02月13日 00点02分 8
简单啊,等我上班了帮你弄
2019年02月15日 14点02分
@悠小蛤 麻烦你了!谢谢!
2019年02月16日 00点02分
@情感禁区110 好了,绑定得到属性上。
2019年02月19日 07点02分
level 5
public Window1()
{
InitializeComponent();
this.DataContext = this;
Initial();
}
private void Initial()
{
_InitCustomerData = new List<Customer>()
{
new Customer
{
a=12,
b=14,
IsMember=false
},
new Customer
{
a=12,
b=14,
IsMember=false
},
new Customer
{
a=20,
b=14,
IsMember=false
}
};
}
private List<Customer> _InitCustomerData;
public List<Customer> InitCustomerData
{
get { return _InitCustomerData; }
set { _InitCustomerData = value; }
}
2019年02月19日 07点02分 9
level 5
<DataGrid Name="DG1" ItemsSource="{Binding InitCustomerData}"
2019年02月19日 07点02分 10
我照您的修改了为什么关联不上数据?只有列名却无一行数据。
2019年02月20日 10点02分
终于实现了。哈哈,多谢楼主指点,
2019年02月26日 06点02分
@情感禁区110 .......还在纠结这个问题啊
2019年02月26日 06点02分
level 1
回复 悠小蛤 :
2019年07月22日 10点07分 11
level 1
这个是覆盖吗
2019年07月22日 10点07分 12
。。如此简单
2019年07月24日 07点07分
@悠小蛤 怎么实现跪求
2019年07月25日 04点07分
@贴吧用户_7S6RyeX 我已经写在帖子下面了
2019年07月25日 05点07分
@悠小蛤 谢谢
2019年07月25日 05点07分
level 5
public class IVisibilityConvernter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
if ((bool)value)
return Visibility.Visible;
else
return Visibility.Collapsed;
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
}
public class IBtnContentConvernter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
if ((bool)value)
return "隐藏";
else
return "显示";
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
}
2019年07月24日 07点07分 14
1