muddatagrid – 创建超链接或按钮

huangapple go评论126阅读模式
英文:

muddatagrid - make an hyperlink or a button

问题

如何在元素名称上创建超链接或按钮?

  1. @using System.Net.Http.Json
  2. @using MudBlazor.Examples.Data.Models
  3. @inject HttpClient httpClient
  4. <!-- This is the MudDataGrid component -->
  5. <MudDataGrid Items="@Elements.Take(4)">
  6. <Columns>
  7. <Column T="Element" Field="Number" Title="Nr" />
  8. <Column T="Element" Field="Sign" />
  9. <Column T="Element" Field="Name">
  10. <!-- You can create a hyperlink or button here -->
  11. <!-- Example: Creating a hyperlink -->
  12. <Template Context="element">
  13. <a href="#">@element.Name</a>
  14. </Template>
  15. </Column>
  16. <Column T="Element" Field="Position" />
  17. <Column T="Element" Field="Molar" Title="Molar mass" />
  18. </Columns>
  19. </MudDataGrid>
  20. @code {
  21. private IEnumerable<Element> Elements = new List<Element>();
  22. protected override async Task OnInitializedAsync()
  23. {
  24. Elements = await httpClient.GetFromJsonAsync<List<Element>>("webapi/periodictable");
  25. }
  26. }

在上面的代码中,我在"Name"列中创建了一个超链接示例。您可以在模板中使用<a>标签来创建超链接,将其链接到您想要的目标页面。

英文:

This is the following link to try out the code

  1. @using System.Net.Http.Json
  2. @using MudBlazor.Examples.Data.Models
  3. @inject HttpClient httpClient
  4. &lt;MudDataGrid Items=&quot;@Elements.Take(4)&quot;&gt;
  5. &lt;Columns&gt;
  6. &lt;Column T=&quot;Element&quot; Field=&quot;Number&quot; Title=&quot;Nr&quot; /&gt;
  7. &lt;Column T=&quot;Element&quot; Field=&quot;Sign&quot; /&gt;
  8. &lt;Column T=&quot;Element&quot; Field=&quot;Name&quot; /&gt;
  9. &lt;Column T=&quot;Element&quot; Field=&quot;Position&quot; /&gt;
  10. &lt;Column T=&quot;Element&quot; Field=&quot;Molar&quot; Title=&quot;Molar mass&quot; /&gt;
  11. &lt;/Columns&gt;
  12. &lt;/MudDataGrid&gt;
  13. @code {
  14. private IEnumerable&lt;Element&gt; Elements = new List&lt;Element&gt;();
  15. protected override async Task OnInitializedAsync()
  16. {
  17. Elements = await httpClient.GetFromJsonAsync&lt;List&lt;Element&gt;&gt;(&quot;webapi/periodictable&quot;);
  18. }
  19. }
  1. using System.Collections.Generic;
  2. using System.Text.Json.Serialization;
  3. namespace MudBlazor.Examples.Data.Models
  4. {
  5. public class Element
  6. {
  7. public string Group { get; set; }
  8. public int Position { get; set; }
  9. public string Name { get; set; }
  10. public int Number { get; set; }
  11. [JsonPropertyName(&quot;small&quot;)]
  12. public string Sign { get; set; }
  13. public double Molar { get; set; }
  14. public IList&lt;int&gt; Electrons { get; set; }
  15. public override string ToString()
  16. {
  17. return $&quot;{Sign} - {Name}&quot;;
  18. }
  19. }
  20. }

How to make an hyperlink or a button over the element Name?

答案1

得分: 3

以下是翻译好的代码部分:

  1. @using System.Net.Http.Json
  2. @using MudBlazor.Examples.Data.Models
  3. @inject HttpClient httpClient
  4. <MudDataGrid Items="@Elements.Take(4)">
  5. <Columns>
  6. <Column T="Element" Field="Number" Title="Nr" />
  7. <Column T="Element" Field="Sign" />
  8. <Column T="Element" Field="Name">
  9. <CellTemplate>
  10. <MudButton Size="@Size.Small" Variant="@Variant.Filled" Color="@Color.Primary" OnClick="@(context => this.Click(context.Item))">
  11. @context.Item.Name
  12. </MudButton>
  13. </CellTemplate>
  14. </Column>
  15. <Column T="Element" Field="Position" />
  16. <Column T="Element" Field="Molar" Title="Molar mass" />
  17. </Columns>
  18. </MudDataGrid>
  19. @code {
  20. private IEnumerable<Element> Elements = new List<Element>();
  21. protected override async Task OnInitializedAsync()
  22. {
  23. Elements = await httpClient.GetFromJsonAsync<List<Element>>("webapi/periodictable");
  24. }
  25. private void Click(Element element)
  26. {
  27. Console.WriteLine($"Clicked: {element.Name}");
  28. }
  29. }
英文:

Something like this should do:

  1. @using System.Net.Http.Json
  2. @using MudBlazor.Examples.Data.Models
  3. @inject HttpClient httpClient
  4. &lt;MudDataGrid Items=&quot;@Elements.Take(4)&quot;&gt;
  5. &lt;Columns&gt;
  6. &lt;Column T=&quot;Element&quot; Field=&quot;Number&quot; Title=&quot;Nr&quot; /&gt;
  7. &lt;Column T=&quot;Element&quot; Field=&quot;Sign&quot; /&gt;
  8. &lt;Column T=&quot;Element&quot; Field=&quot;Name&quot;&gt;
  9. &lt;CellTemplate&gt;
  10. &lt;MudButton Size=&quot;@Size.Small&quot; Variant=&quot;@Variant.Filled&quot; Color=&quot;@Color.Primary&quot; OnClick=&quot;@(() =&gt; this.Click(context.Item))&quot;&gt;
  11. @context.Item.Name
  12. &lt;/MudButton&gt;
  13. &lt;/CellTemplate&gt;
  14. &lt;/Column&gt;
  15. &lt;Column T=&quot;Element&quot; Field=&quot;Position&quot; /&gt;
  16. &lt;Column T=&quot;Element&quot; Field=&quot;Molar&quot; Title=&quot;Molar mass&quot; /&gt;
  17. &lt;/Columns&gt;
  18. &lt;/MudDataGrid&gt;
  19. @code {
  20. private IEnumerable&lt;Element&gt; Elements = new List&lt;Element&gt;();
  21. protected override async Task OnInitializedAsync()
  22. {
  23. Elements = await httpClient.GetFromJsonAsync&lt;List&lt;Element&gt;&gt;(&quot;webapi/periodictable&quot;);
  24. }
  25. private void Click(Element element)
  26. {
  27. Console.WriteLine($&quot;Clicked: {element.Name}&quot;);
  28. }
  29. }

huangapple
  • 本文由 发表于 2023年1月9日 02:13:11
  • 转载请务必保留本文链接:https://go.coder-hub.com/75050247.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定