我正在尝试为DataGridView列标题创建一个click事件,以便当用户单击以重新排序数据时,我可以运行代码以新顺序绘制甘特图(请参见下面的屏幕截图).
如您所见,我希望用户能够对datagridview和甘特图进行排序以响应重新排序.
我已经尝试过使用msdn的click事件,但是当我测试它时没有效果:http: //msdn.microsoft.com/en-us/library/system.windows.forms.datagridview.columnheadermouseclick.aspx
private void dataCapPlan_ColumnHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e)
{
MessageBox.Show("OK");
}
Run Code Online (Sandbox Code Playgroud)
对于DataGridView dataCapPlan
有任何想法吗?
非常感激!

c# datagridview visual-studio-2010 mouseevent datagridviewcolumn
我不想遍历所有列并将每列的 Visible 设置为 false。我想知道是否有一种快速的方法可以做到这一点。
谢谢!
我有一个这样定义的GridView:
<ListView x:Name="colorLegend" Background="Transparent" ItemsSource="{Binding /Colors}">
<ListView.Resources>
<Style x:Key="myHeaderStyle" TargetType="{x:Type GridViewColumnHeader}">
<Setter Property="Visibility" Value="Collapsed" />
</Style>
</ListView.Resources>
<ListView.View>
<GridView ColumnHeaderContainerStyle="{StaticResource myHeaderStyle}">
<GridViewColumn Header="Image" Width="100">
<GridViewColumn.CellTemplate>
<DataTemplate>
<Border Background="{Binding Brush}" Height="20" Width="40" />
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
<GridViewColumn DisplayMemberBinding="{Binding Path=Name}" Width="auto" />
</GridView>
</ListView.View>
</ListView>
Run Code Online (Sandbox Code Playgroud)
我希望第一个单元格内的边框高度与单元格列的高度一样高。我可以将边框的高度绑定到第二个单元格的高度吗?
我想要的是能够更改第二个单元格的字体大小和第一个单元格的边框以调整大小以匹配更改?
谢谢!
我的表格上有一个带有两页的TabControl.每个页面都包含一个datagridview.在Form.Load事件中,我从SQL数据库填充我的datagridviews并更改这些网格的一些列宽.
DataTable GLOBAL_TABLE = new DataTable();
object[] GLOBAL_PARAMETERS = new object[50];
private void frmMAIN_Load(object sender, EventArgs e)
{
LOAD_TAB_1();
LOAD_TAB_2();
}
void LOAD_TAB_1()
{
//SQLRELATION class contain method that execute stored procedure on server
//and return DataTAble
Array.Clear(GLOBAL_PARAMETERS, 0, GLOBAL_PARAMETERS.Length);
GLOBAL_PARAMETERS[0] = userID;
GLOBAL_PARAMETERS[1] = date_1.Date;
GLOBAL_PARAMETERS[2] = date_2.Date;
GLOBAL_TABLE = SQLRELATION.GET_PROCEDURE("PROC023", GLOBAL_PARAMETERS, true);
dgv_MAIN_substitution.DataSource = GLOBAL_TABLE;
//Here I'm changing my columns width
foreach (DataGridViewColumn col in dgv_MAIN_substitution.Columns)
{
switch (col.Name)
{
case "Dummy": col.Width = 30; break; …Run Code Online (Sandbox Code Playgroud) 我有DataGridView6 列;我希望第一列显示一周中的几天。第二列应显示每天的时间表。但我希望它们以垂直顺序显示,而不是以水平方式显示。但我不知道该怎么做。
我有这样的:
我想要这样的: