标签: datagrid

数百万行的JavaScript数据网格

我需要使用JavaScript在网格中向用户呈现大量数据行(即数百万行).

用户不应该一次看到页面或仅查看有限数量的数据.

相反,似乎所有数据都可用.

不是一次下载所有数据,而是在用户访问它们时下载小块(即通过滚动网格).

不会通过此前端编辑行,因此可以使用只读网格.

这种无缝分页存在哪些用JavaScript编写的数据网格?

javascript jquery html5 datagrid slickgrid

223
推荐指数
8
解决办法
18万
查看次数

WPF datagrid底部为空行

我使用绑定我的数据网格

//fill datagrid
public DataTable GameData
{
    get
    {
        DataSet ds = new DataSet();
        FileStream fs = new FileStream(IMDB.WebPage.Class.Config.XMLPath,
        FileMode.Open, FileAccess.Read);
        StreamReader reader = new StreamReader(fs, Encoding.Default);
        ds.ReadXml(reader);
        fs.Close();
        DataTable temp = ds.Tables[0];
        return ds.Tables[0];
     }
 }
Run Code Online (Sandbox Code Playgroud)

出于某种原因,我在底部得到一个空行.有时在点击网格中的某些按钮和复选框后,会添加更多空行.

为什么是这样?我该怎么阻止这个?

wpf datagrid

192
推荐指数
3
解决办法
8万
查看次数

如何在WPF DataGrid中执行单击复选框选择?

我有一个DataGrid,第一列为文本列,第二列为CheckBox列.我想要的是,如果我单击复选框.它应该被检查.

但是,它需要两次单击才能被选中,首次单击该单元格将被选中,第二次单击该复选框将被选中.如何通过单击来选中/取消选中复选框.

我正在使用WPF 4.0.DataGrid中的列是AutoGenerated.

wpf datagrid wpfdatagrid

133
推荐指数
10
解决办法
7万
查看次数

如何将WPF DataGrid绑定到可变数量的列?

我的WPF应用程序生成的数据集可能每次都有不同的列数.输出中包含将用于应用格式的每列的说明.输出的简化版本可能类似于:

class Data
{
    IList<ColumnDescription> ColumnDescriptions { get; set; }
    string[][] Rows { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

此类在WPF DataGrid上设置为DataContext,但实际上我以编程方式创建列:

for (int i = 0; i < data.ColumnDescriptions.Count; i++)
{
    dataGrid.Columns.Add(new DataGridTextColumn
    {
        Header = data.ColumnDescriptions[i].Name,
        Binding = new Binding(string.Format("[{0}]", i))
    });
}
Run Code Online (Sandbox Code Playgroud)

有没有办法用XAML文件中的数据绑定替换此代码?

c# data-binding wpf xaml datagrid

121
推荐指数
4
解决办法
11万
查看次数

如何在DataGrid中设置所选行的颜色

这看起来很简单,但我只是看不出怎么做.

DataGrid中所选行的默认背景颜色太深,我无法读取它.反正它有没有?

试过这个(从Neverminds链接修改)

<dg:DataGrid.RowStyle>
    <Style TargetType="{x:Type dg:DataGridRow}">
        <Style.Triggers>
            <Trigger Property="IsSelected" Value="True" >
                <Setter Property="Background" Value="Gainsboro" />
            </Trigger>
        </Style.Triggers>
    </Style>
</dg:DataGrid.RowStyle>
Run Code Online (Sandbox Code Playgroud)

但仍然没有......

c# wpf xaml datagrid

121
推荐指数
7
解决办法
13万
查看次数

如何使XAML DataGridColumns填充整个DataGrid?

我在XAML(而不是Silverlight)中使用DataGrids和可调整大小的列,如果用户调整屏幕大小,DataGrid将展开.

目前,如果所有DataGrid列的宽度小于DataGrid的宽度,我会看到一个额外的"列",它不可点击并且没有用处.

有谁知道如何使一列始终调整大小以填充所有剩余空间?

c# wpf xaml datagrid wpf-controls

111
推荐指数
5
解决办法
10万
查看次数

如何在WPF Datagrid中禁用编辑单元格?

我正在Windows Presentation Foundation中构建一个数据网格,我遇到了问题.当用户双击数据网格中的单元格时,单元格将进入编辑模式.我想防止这种情况.相反,我希望用户能够选择整行 - 而不是编辑其中的值.

如何双击选择整行而不是将单击的单元格置于编辑模式?

wpf datagrid cells wpfdatagrid

109
推荐指数
3
解决办法
9万
查看次数

按钮在一列中,获取Click事件处理程序所在的行

我已经将我的WPF Datagrid的itemsource设置为从我的DAL返回的对象列表.我还添加了一个包含按钮的额外列,下面是xaml.

<toolkit:DataGridTemplateColumn  MinWidth="100" Header="View">
    <toolkit:DataGridTemplateColumn.CellTemplate>
        <DataTemplate>
            <Button Click="Button_Click">View Details</Button>
        </DataTemplate>
    </toolkit:DataGridTemplateColumn.CellTemplate>
</toolkit:DataGridTemplateColumn>
Run Code Online (Sandbox Code Playgroud)

这很好.但是在Button_Click方法上,有什么方法可以获取按钮所在的数据网格上的行?更具体地说,我的对象的一个​​属性是"Id",我希望能够将它传递到事件处理程序中另一个表单的构造函数中.

private void Button_Click(object sender, RoutedEventArgs e)
    {
        //I need to know which row this button is on so I can retrieve the "id"  
    }
Run Code Online (Sandbox Code Playgroud)

也许我在我的xaml中需要额外的东西,或者我可能会以迂回的方式进行此操作?任何帮助/建议表示赞赏.

c# wpf xaml datagrid datagridview

94
推荐指数
4
解决办法
9万
查看次数

在WPF中安全地访问UI(主)线程

我有一个应用程序,每次我正在观看的日志文件更新时都会更新我的数据网格(附加新文本),方法如下:

private void DGAddRow(string name, FunctionType ft)
    {
                ASCIIEncoding ascii = new ASCIIEncoding();

    CommDGDataSource ds = new CommDGDataSource();

    int position = 0;
    string[] data_split = ft.Data.Split(' ');
    foreach (AttributeType at in ft.Types)
    {
        if (at.IsAddress)
        {

            ds.Source = HexString2Ascii(data_split[position]);
            ds.Destination = HexString2Ascii(data_split[position+1]);
            break;
        }
        else
        {
            position += at.Size;
        }
    }
    ds.Protocol = name;
    ds.Number = rowCount;
    ds.Data = ft.Data;
    ds.Time = ft.Time;

    dataGridRows.Add(ds); 

    rowCount++;
    }
    ...
    private void FileSystemWatcher()
    {
        FileSystemWatcher watcher = new FileSystemWatcher(Environment.CurrentDirectory);
        watcher.Filter = syslogPath;
        watcher.NotifyFilter …
Run Code Online (Sandbox Code Playgroud)

.net c# wpf datagrid multithreading

79
推荐指数
3
解决办法
11万
查看次数

WPF错误:找不到目标元素的管理FrameworkElement

我有一个带有图像的Row的数据网格.此图像与某个状态的触发器绑定.当状态改变时我想改变图像.

模板本身在DataGridTemplateColumn的HeaderStyle上设置.此模板具有一些绑定.第一个绑定日显示它是什么日期,状态通过触发器更改图像.

这些属性在ViewModel中设置.

属性:

public class HeaderItem
{
    public string Day { get; set; }
    public ValidationStatus State { get; set; }
}

this.HeaderItems = new ObservableCollection<HeaderItem>();
for (int i = 1; i < 15; i++)
{
    this.HeaderItems.Add(new HeaderItem()
    {
        Day = i.ToString(),
        State = ValidationStatus.Nieuw,
    });
}
Run Code Online (Sandbox Code Playgroud)

数据网格:

<DataGrid x:Name="PersoneelsPrestatiesDataGrid" HorizontalAlignment="Stretch" VerticalAlignment="Stretch"
              AutoGenerateColumns="False" SelectionMode="Single" ItemsSource="{Binding CaregiverPerformances}" FrozenColumnCount="1" >

    <DataGridTemplateColumn HeaderStyle="{StaticResource headerCenterAlignment}" Header="{Binding HeaderItems[1]}" Width="50">
        <DataGridTemplateColumn.CellEditingTemplate>
            <DataTemplate>
                <TextBox Text="{ Binding Performances[1].Duration,Converter={StaticResource timeSpanConverter},Mode=TwoWay}"/>
            </DataTemplate>
        </DataGridTemplateColumn.CellEditingTemplate>

        <DataGridTemplateColumn.CellTemplate>
            <DataTemplate>
                <TextBlock TextAlignment="Center" Text="{ Binding …
Run Code Online (Sandbox Code Playgroud)

wpf binding datagrid image multidatatrigger

76
推荐指数
2
解决办法
5万
查看次数