簡體   English   中英

使用C#Winform和SQL Server中的按鈕將行添加到gridview

[英]Adding row to gridview using button in c# winform and sql server

我正在從事有關學生評分系統的項目。 我被困於ı將在下面顯示:

STUDENT ID : 12345
STUDENT NAME : ALEXIA

LESSONS :          GRADE 1     GRADE 2  AVERAGE   LIMIT    RESULT
PHYSICS             40          80         60      50        PASS
CALCULUS            20          10         15      50        FAIL
Add new lesson

New list should be ; (assume we add Sport as new lesson on the list)

    LESSONS :          GRADE 1     GRADE 2  AVERAGE   LIMIT    RESULT
     PHYSICS             40          80         60      50        PASS
     CALCULUS            20          10         15      50        FAIL
     SPORT               100         100       100      50        PASS
    add new lesson (line)

我將這些數據保存到數據庫,然后將所有數據以新形式列出;

  STUDENT NAME : ALEXIA

  LESSONS          GRADE          RESULT
   PHYSICS           60             PASS
   CALCULUS          15             FAIL
   SPORT            100             PASS

我如何在這里發展這樣的結構。 我可以使用網格還是列表

忠告將不勝感激

如果您正在尋找簡單的操作,例如通過按下按鈕和一些文本框或將某些新內容添加到gridview,請嘗試以下操作

DataGridViewRow row = (DataGridViewRow)yourDataGridView.Rows[0].Clone();
row.Cells["LESSONS"].Value = yourtextbox.text;
row.Cells["Grade"].Value = yourtextbox1.text;
row.Cells["Result"].Value = yourtextbox1.text;
yourDataGridView.Rows.Add(row);

1st想為未讀內容表示歉意,現在我看到的是Winforms,只需在解決方案資源管理器中右鍵單擊您的項目,然后選擇“添加新用戶控件”即可。 實際上,這使您可以從許多不同的對象中進行選擇,但是用戶控件是您想要的。 當您添加用戶控件時,它應該為您提供一個帶有面板的新設計器窗口,您可以在其中單獨放置常規控件。 如果然后返回到表單,則會在工具箱中看到一個包含新控件的新部分。 您可以像使用任何其他控件一樣使用它,包括動態創建它並將其添加到表單上的flowlayoutpanel。

然后在datagrid上添加例如這樣的一行

public DataTable GetResultsTable()
{
    DataTable table = new DataTable();
    table.Columns.Add("Name".ToString());
    table.Columns.Add("Color".ToString());
    DataRow dr = table.NewRow();
    dr["Lesson"] = "Programing";
    dr["Calculus"] = "99";
   dr["result"] = "pass";
    table.Rows.Add(dr);
    return table;
}
public void gridview()
{          
    datagridview1.DataSource =  GetResultsTable();
}

希望這次我能以正確的方式幫助您,伴侶,祝您好運

我不知道這是不是我假裝的,但是,讓我們看看。

對於我能理解的你想要這樣的東西

STUDENT NAME : ALEXIA

  LESSONS          GRADE          RESULT
   PHYSICS           60             PASS
   CALCULUS          15             FAIL
   SPORT            100             PASS

因此,您基本上可以創建一個html表結構並使用

<%#(DataBinder.Eval(Container,“ DataItem.username”))%>綁定數據庫中的項目

現在回答您可能的問題:

但是我想要3、4或100個這樣的結構,具體取決於我從db獲得的結構數。

輕松配合,將您的結構放在轉發器中,然后將數據源添加到轉發器中,您將根據數據獲得結構。


但是我沒有物理學,微積分或運動,我可以增加更多。

只需在中繼器中使用另一個類似這樣的中繼器

<td> <%#(DataBinder.Eval(Container, "DataItem.Title")) %></td><td> <%#(DataBinder.Eval(Container, "DataItem.Grade")) %></td><td> <%#(DataBinder.Eval(Container, "DataItem.Result")) %></td>

* PS:請記住,我使用的數據只是示例...

訪問中繼器內部的中繼器有問題嗎? 使用這樣的東西

 protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
    var data = ((MyClass)e.Item.DataItem).Subcategories;
    var repeater2 = (Repeater)e.Item.FindControl("Repeater2");
    repeater2.DataSource = data;
    repeater2.DataBind();
}

不知道這是您要查找的內容,但希望它能以任何方式提供幫助。 祝好運

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM