아래 코드를 사용하여 ASP.net gridview에 새 행을 추가하고 있습니다. 문제는 내가 만드는 모든 새로운 행이 비어 있다는 것입니다. 나는 줄에있는 세포들을 돌연변이 시켰는데 그들 대부분이 공백 ( ) 인 것을 발견했다. 어디에서나 다른 코드를 사용하여 보았습니다.하지만 모든 것이 나를 이끌 것입니다. 새로운 데이터 테이블을 만들고, 행을 추가하고, 데이터 테이블에 gridview 데이터 소스를 설정합니다. 나는이 컨트롤을 전에 12 번 사용했고 전에는 이것을 얻지 못했고, 그것은 매우 이상합니다.Gridview 빈 행 문제
public partial class DMREntry : System.Web.UI.Page
{
private DataTable _Parts
{
get { return (DataTable)ViewState["Parts"]; }
set { ViewState.Add("Parts", value); }
}
...
행 추가 코드 변수
클래스 수준. 내 텍스트 상자와 내 gridview는 업데이트 패널 내에 있습니다.
if (_Parts == null)
{
_Parts = new DataTable();
_Parts.Columns.Add("Part No");
_Parts.Columns.Add("Qty");
_Parts.Columns.Add("Description");
_Parts.Columns.Add("Vendor");
_Parts.Columns.Add("Vendor Part");
_Parts.Columns.Add("Cost");
_Parts.Columns.Add("PO Number");
_Parts.Columns.Add("Delivery Date");
_Parts.Columns.Add("Total Cost");
}
DataRow dr = _Parts.NewRow();
dr["Part No"] = txtPartNo.Text;
dr["Qty"] = txtQty.Text;
dr["Description"] = txtDescription.Text;
dr["Vendor"] = txtVendor.Text;
dr["Vendor Part"] = txtVendorPart.Text;
dr["Cost"] = txtCost.Text;
dr["PO Number"] = txtPONumber.Text;
dr["Delivery Date"] = txtDeliveryDate.Text;
dr["Total Cost"] = txtTotalCost.Text;
// At this point, DR has the correct values
_Parts.Rows.Add(dr);
_Parts.AcceptChanges();
gvParts.DataSource = _Parts;
gvParts.DataBind();
upGrid.Update();
의 GridView 태그 :
`<asp:GridView ID="gvParts" runat="server" AutoGenerateColumns="False" PageSize="5"
Width="787px" BackColor="White" BorderColor="#CCCCCC" BorderStyle="None"
BorderWidth="1px" CellPadding="3"
onselectedindexchanged="gvParts_SelectedIndexChanged1" AllowPaging="True"
AllowSorting="True">
<Columns>
<asp:TemplateField HeaderText="Part No"></asp:TemplateField>
<asp:TemplateField HeaderText="Qty"></asp:TemplateField>
<asp:TemplateField HeaderText="Description"></asp:TemplateField>
<asp:TemplateField HeaderText="Vendor"></asp:TemplateField>
<asp:TemplateField HeaderText="Vendor Part"></asp:TemplateField>
<asp:TemplateField HeaderText="Cost"></asp:TemplateField>
<asp:TemplateField HeaderText="PO Number"></asp:TemplateField>
<asp:TemplateField HeaderText="Delivery Date"></asp:TemplateField>
<asp:TemplateField HeaderText="Total Cost"></asp:TemplateField>
<asp:CommandField ButtonType="Button" ShowEditButton="True" />
<asp:CommandField ButtonType="Button" ShowDeleteButton="True" />
</Columns>
<FooterStyle BackColor="White" ForeColor="#000066" />
<HeaderStyle BackColor="#006699" Font-Bold="True" ForeColor="White" />
<PagerStyle BackColor="White" ForeColor="#000066" HorizontalAlign="Left" />
<RowStyle ForeColor="#000066" />
<SelectedRowStyle BackColor="#669999" Font-Bold="True" ForeColor="White" />
<SortedAscendingCellStyle BackColor="#F1F1F1" />
<SortedAscendingHeaderStyle BackColor="#007DBB" />
<SortedDescendingCellStyle BackColor="#CAC9C9" />
<SortedDescendingHeaderStyle BackColor="#00547E" />
</asp:GridView>`
는 나에게 잎 :
내 그리드 속성입니다 제외한 기본 :
- AutoGenerateColumns = 거짓
- AllowPaging = 사실
- AllowSorting = 사실
- 페이지 크기 =
나는 테이블의 데이터가 자동 생성 된 열로 이동 않습니다에 AutoGenerateColumns을 켜면 5. 그러나 열을 수동으로 만들 때가 아닙니다. 나는 수동으로 추가 된 열에 대해 템플릿 필드 열 유형을 사용하고 있습니다. 텍스트 필드 일 뿐이므로 더 나은 옵션을 찾을 수 없습니다.
도움이 되셨다면 ...
내 게시물을 편집 gridview에 –
나에게 당신의 .ASPX 코드를 제시해주십시오. – Paul