Hi itsjayshah,
Refer the below sample code.
C#
protected void Page_Load(object sender, EventArgs e)
{
if (!this.IsPostBack)
{
DataTable dt = GetDataTable();
DeleteIfLastRowAllColumnEmpty(dt);
}
}
private static bool DeleteIfLastRowAllColumnEmpty(DataTable dt)
{
bool isNullAllColumn = true;
for (int row = dt.Rows.Count - 1; row < dt.Rows.Count; row++)
{
for (int column = 0; column < dt.Columns.Count; column++)
{
if (!string.IsNullOrEmpty(dt.Rows[row][column].ToString()))
{
isNullAllColumn = false;
break;
}
}
}
if (isNullAllColumn)
{
dt.Rows.RemoveAt(dt.Rows.Count - 1);
}
return isNullAllColumn;
}
private DataTable GetDataTable()
{
DataTable dt = new DataTable();
dt.Columns.AddRange(new DataColumn[3] { new DataColumn("Id", typeof(string)),
new DataColumn("Name", typeof(string)),
new DataColumn("Country",typeof(string)) });
dt.Rows.Add("", "", "");
return dt;
}
VB.Net
Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
If Not Me.IsPostBack Then
Dim dt As DataTable = GetDataTable()
DeleteIfLastRowAllColumnEmpty(dt)
End If
End Sub
Private Shared Function DeleteIfLastRowAllColumnEmpty(dt As DataTable) As Boolean
Dim isNullAllColumn As Boolean = True
For row As Integer = dt.Rows.Count - 1 To dt.Rows.Count - 1
For column As Integer = 0 To dt.Columns.Count - 1
If Not String.IsNullOrEmpty(dt.Rows(row)(column).ToString()) Then
isNullAllColumn = False
Exit For
End If
Next
Next
If isNullAllColumn Then
dt.Rows.RemoveAt(dt.Rows.Count - 1)
End If
Return isNullAllColumn
End Function
Private Function GetDataTable() As DataTable
Dim dt As New DataTable()
dt.Columns.AddRange(New DataColumn(2) {New DataColumn("Id", GetType(String)), New DataColumn("Name", GetType(String)), New DataColumn("Country", GetType(String))})
dt.Rows.Add("", "", "")
Return dt
End Function