我需要使用JavaScript在网格中向用户呈现大量数据行(即数百万行).
用户不应该一次看到页面或仅查看有限数量的数据.
相反,似乎所有数据都可用.
不是一次下载所有数据,而是在用户访问它们时下载小块(即通过滚动网格).
不会通过此前端编辑行,因此可以使用只读网格.
这种无缝分页存在哪些用JavaScript编写的数据网格?
我使用绑定我的数据网格
//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)
出于某种原因,我在底部得到一个空行.有时在点击网格中的某些按钮和复选框后,会添加更多空行.
为什么是这样?我该怎么阻止这个?
我有一个DataGrid,第一列为文本列,第二列为CheckBox列.我想要的是,如果我单击复选框.它应该被检查.
但是,它需要两次单击才能被选中,首次单击该单元格将被选中,第二次单击该复选框将被选中.如何通过单击来选中/取消选中复选框.
我正在使用WPF 4.0.DataGrid中的列是AutoGenerated.
我的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文件中的数据绑定替换此代码?
这看起来很简单,但我只是看不出怎么做.
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)
但仍然没有......
我在XAML(而不是Silverlight)中使用DataGrids和可调整大小的列,如果用户调整屏幕大小,DataGrid将展开.
目前,如果所有DataGrid列的宽度小于DataGrid的宽度,我会看到一个额外的"列",它不可点击并且没有用处.
有谁知道如何使一列始终调整大小以填充所有剩余空间?
我正在Windows Presentation Foundation中构建一个数据网格,我遇到了问题.当用户双击数据网格中的单元格时,单元格将进入编辑模式.我想防止这种情况.相反,我希望用户能够选择整行 - 而不是编辑其中的值.
如何双击选择整行而不是将单击的单元格置于编辑模式?
我已经将我的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中需要额外的东西,或者我可能会以迂回的方式进行此操作?任何帮助/建议表示赞赏.
我有一个应用程序,每次我正在观看的日志文件更新时都会更新我的数据网格(附加新文本),方法如下:
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) 我有一个带有图像的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) datagrid ×10
wpf ×9
c# ×5
xaml ×4
wpfdatagrid ×2
.net ×1
binding ×1
cells ×1
data-binding ×1
datagridview ×1
html5 ×1
image ×1
javascript ×1
jquery ×1
slickgrid ×1
wpf-controls ×1