我应该如何将列表数据添加到网格

     2023-02-19     219

关键词:

【中文标题】我应该如何将列表数据添加到网格【英文标题】:How should I add list data to Grid 【发布时间】:2022-01-11 08:39:11 【问题描述】:
<Grid Grid.Row="1">
    <Grid.ColumnDefinitions>
        <ColumnDefinition/>
        <ColumnDefinition/>
        <ColumnDefinition/>
        <ColumnDefinition/>
        <ColumnDefinition/>
        <ColumnDefinition/>
        <ColumnDefinition/>
        <ColumnDefinition/>
    </Grid.ColumnDefinitions>
    <Grid.RowDefinitions>
        <RowDefinition/>
        <RowDefinition/>
        <RowDefinition/>
        <RowDefinition/>
        <RowDefinition/>
        <RowDefinition/>
    </Grid.RowDefinitions>
    
</Grid>

我想从这里的列表中添加TextBlock

ViewModel 代码

我尝试使用ListBox,但这不是我想要的。

<ListBox ItemsSource="Binding Serials" Grid.Row="1">
    <ListBox.ItemsPanel>
        <ItemsPanelTemplate>
            <WrapPanel Orientation="Horizontal" IsItemsHost="True" ScrollViewer.CanContentScroll="True"/>
        </ItemsPanelTemplate>
    </ListBox.ItemsPanel>

    <ListBox.ItemTemplate>
        <DataTemplate>
            <Grid>
                <TextBlock Text="Binding aaa" Margin="20"/>
            </Grid>
        </DataTemplate>
    </ListBox.ItemTemplate>
</ListBox>

我将框格并进行分页。 我想要的是将TextBlock 在网格中居中。

我该怎么做?

【问题讨论】:

我认为不清楚,你想做什么。请详细描述,预期的结果是什么?您是否希望您的项目像Grid 那样排列,并且像您的第一个示例(6x8)一样具有固定的行和列? “我想要的是网格中心的TextBlock。”是什么?您的意思是要使每个网格单元格中的文本居中吗? @thatguy 是的,你明白我的意思,我希望项目像网格一样排列,具有固定的行和列,将每个网格单元格中的文本居中,我的英语不是很好。很抱歉给您添麻烦 【参考方案1】:

这里的做法是错误的,你可以简单地使用ListView代替grid,它会动态使用空间并显示在grid view中。

我们填充了一个我们自己的用户对象的列表,每个用户都有一个名字和一个年龄。一旦我们将列表分配给 ListView 的 ItemsSource 属性,数据绑定过程就会自动发生,但结果有点令人沮丧:

这里是示例代码:

Xaml:

<Grid>
  <ListView Margin="10" Name="lvDataBinding"></ListView>
</Grid>

c#

public partial class ListViewDataBindingSample : Window
 
    public ListViewDataBindingSample()
    
        InitializeComponent();
        List<User> items = new List<User>();
        items.Add(new User()  Name = "John Doe", Age = 42 );
        items.Add(new User()  Name = "Jane Doe", Age = 39 );
        items.Add(new User()  Name = "Sammy Doe", Age = 13 );
        lvDataBinding.ItemsSource = items;
    
 

public class User

    public string Name  get; set; 

    public int Age  get; set; 

【讨论】:

我用过listview和listbox,但不是我想要的,你可以看看我编辑的代码【参考方案2】:

我认为您对GridListview 感到困惑。

为什么要同时使用这两个?

试试水平列表视图。

<ListView.ItemsPanel>
    <ItemsPanelTemplate>
        <StackPanel Orientation="Horizontal"></StackPanel>
    </ItemsPanelTemplate>
</ListView.ItemsPanel>

【讨论】:

因为我想做一个排队软件。一张表大概有50条数据,多余的数据会做成页面,谢谢您的回答【参考方案3】:

如果您想将列表与Grid 类似的布局绑定,请使用ListBoxUniformGrid 作为项目面板。在DisplayMemberPath 中指定一个属性,那么您不必创建多余的DataTemplate 来绑定aaa。分配 ItemsContainerStyle 以调整内容对齐方式以使内容居中。

<ListBox Grid.Row="1" ItemsSource="Binding Serials" DisplayMemberPath="aaa">
   <ListBox.ItemsPanel>
      <ItemsPanelTemplate>
         <UniformGrid Rows="6" Columns="8"/>
      </ItemsPanelTemplate>
   </ListBox.ItemsPanel>
   <ListBox.ItemContainerStyle>
      <Style TargetType="x:Type ListBoxItem" BasedOn="StaticResource x:Type ListBoxItem">
         <Setter Property="HorizontalContentAlignment" Value="Center"/>
         <Setter Property="VerticalContentAlignment" Value="Center"/>
      </Style>
   </ListBox.ItemContainerStyle>
</ListBox>

当然可以绑定UniformGridRowsColumns,动态适配网格。

【讨论】:

感谢您的好建议!【参考方案4】:

XAML 代码

<Grid Grid.Row="1" x:Name="gridMain">
    <Grid.ColumnDefinitions>
...
</Grid>

后面的代码

TextBlock textBlock = new TextBlock();
textBlock.Text = "I'm here!";

Grid.SetRow(textBlock, 2);
Grid.SetColumn(textBlock, 2);
gridMain.Children.Add(textBlock);

【讨论】:

WPF C#,如何将数据从数据网格添加到数据库

】WPFC#,如何将数据从数据网格添加到数据库【英文标题】:WPFC#,Howtoadddatafromadatagridtodatabase【发布时间】:2013-10-3011:09:28【问题描述】:我创建了一个应用程序,其中有一个数据网格。我用通过文本框输入的值填充了我的数据... 查看详情

如何将项目添加到剑道 ui 网格的数据源

】如何将项目添加到剑道ui网格的数据源【英文标题】:HowcanIadditemstothedatasourceofakendouigrid【发布时间】:2012-05-3020:46:47【问题描述】:我已经成功创建了一个kendo.data.dataSource,我可以将它绑定到我页面上的KendoUIGrid。但是当我尝... 查看详情

如何从另一个网格的另一个选定记录将数据添加到网格

】如何从另一个网格的另一个选定记录将数据添加到网格【英文标题】:Howtoadddatatothegridfromanotherselectedrecordofanothergrid【发布时间】:2011-11-2309:56:26【问题描述】:我正在为我的网格使用RowEditor插件。网格记录有三个按钮:选择... 查看详情

如何将上下文菜单添加到 wpf 数据网格?

】如何将上下文菜单添加到wpf数据网格?【英文标题】:Howtoaddcontextmenutowpfdatagrid?【发布时间】:2011-03-1805:26:21【问题描述】:如何将ContextMenu添加到DataGrid?我希望能够右键单击DataGrid上的任意位置。【问题讨论】:Addingdifferent... 查看详情

如何自动滚动到网格视图的末尾?

】如何自动滚动到网格视图的末尾?【英文标题】:Howtoautomaticallyscrolltoendofgridview?【发布时间】:2018-04-0213:11:39【问题描述】:当我将项目添加到网格视图的末尾时,我希望用户看到已添加的内容。这是我的意思的一个例子:... 查看详情

将组合框添加到链接到数据表的数据网格

...VB.net编写的WPF应用程序。我也接受面向C#的答案,因为我应该能够理解和/或转换。我有一个数据表,我通过MySqlDataAdapter填充了我的MySQL数据库中的数据。我的dataGrid目前有AutoGener 查看详情

将选择列表添加到可编辑网格 Knockout.js

】将选择列表添加到可编辑网格Knockout.js【英文标题】:addingselectlisttoEditablegridKnockout.js【发布时间】:2017-10-2916:22:05【问题描述】:我正在测试Knockout.js的工作原理,但我正在寻找一种方法来修复我的选择,以便我可以选择我的... 查看详情

获取数据网格行

...建议为DataGridRow定义一个样式,它将其可见性绑定到是否应该显示。正如我在@RV1987的回答中提到的 查看详情

如何将列表添加到数据框?

】如何将列表添加到数据框?【英文标题】:HowtoAddalisttoadataframe?【发布时间】:2022-01-0517:25:00【问题描述】:我知道以前有人问过这个问题,但我已经尝试实施我找到的所有解决方案,但仍然没有解决问题。这是我的代码importc... 查看详情

将列动态添加到数据网格或使用列表中的特定列生成数据网格

】将列动态添加到数据网格或使用列表中的特定列生成数据网格【英文标题】:Dynamicallyaddacolumntodatagridorgeneratedatagridwithspecificcolumnsfromalist【发布时间】:2015-04-2814:51:00【问题描述】:我已经和datagriddatabinding斗争了好几天了..我... 查看详情

如何将加载指示器或“微调器”添加到剑道角 2 网格?

...添加一个加载指示器。剑道网格api似乎不支持这一点。我应该如何处理这个?【问题讨论】:你可以试试这个***.com/questi 查看详情

在 ExtJS 中,如何将自定义 CSS 类添加到数据网格行?

】在ExtJS中,如何将自定义CSS类添加到数据网格行?【英文标题】:InExtJS,howtoaddacustomCSSclasstodatagridrows?【发布时间】:2011-11-3001:37:15【问题描述】:如何将自定义CSS类添加到数据网格中的行(Ext.grid.Panel)?我正在使用ExtJS4.0。【问... 查看详情

您可以将数据添加到没有数据源的数据网格吗?

...为没有行。-我可以在其中添加一个空白行并使用它吗?如何?-或者其他方式?【问题讨论】:【参考方案1】:我很确定您必须绑定到数据源。但 查看详情

在uwp中向数据网格添加新行时如何自动开始编辑?

】在uwp中向数据网格添加新行时如何自动开始编辑?【英文标题】:Howtoautomaticallybegineditingwhenaddinganewrowtoadatagridinuwp?【发布时间】:2019-10-3010:32:34【问题描述】:我有一个绑定到可观察集合的社区工具包数据网格。我还有一个... 查看详情

如何将 Telerik 网格列绑定到作为列表的子数据对象?

】如何将Telerik网格列绑定到作为列表的子数据对象?【英文标题】:Howtobindatelerikgridcolumntoachilddataobjectthatisalist?【发布时间】:2011-03-2915:42:52【问题描述】:我有一个网格,可以使用http://www.telerik.com/help/aspnet-ajax/grdbindingtosubobje... 查看详情

将列表的内容数据绑定到数据网格

】将列表的内容数据绑定到数据网格【英文标题】:Databindingthecontentsofalisttoadatagrid【发布时间】:2021-07-1204:44:31【问题描述】:我最近制作了一个由预先存在的表中的行组成的列表,并想尝试将该列表数据绑定到数据网格。然... 查看详情

如何将按钮或图像添加到道场网格

】如何将按钮或图像添加到道场网格【英文标题】:Howtoaddbuttonorimagestodojogrid【发布时间】:2012-07-0106:55:57【问题描述】:我有一个带有json数据存储的dojo网格(mysql结果集转换为json格式)。目前我的网格显示5列,如下图所示:... 查看详情

如何在加载之前检查所有数据加载将新行添加到网格中(ExtJS 3.2)

】如何在加载之前检查所有数据加载将新行添加到网格中(ExtJS3.2)【英文标题】:Howtocheckalldataloadbefereloadaddnewrowintothegrid(ExtJS3.2)【发布时间】:2012-12-2408:19:43【问题描述】:我有一个可编辑的网格,我想自动加载roweditor并在该... 查看详情