Button to Load more data to DatagridView, more than 20000 register C#
I have a Big doudt.
I'm trying to load my data with this code:
SqlConnection con = new SqlConnection(Login.conectData);
con.Open();
DataSet dsFabricantes = new DataSet();
SqlDataAdapter daFabricantes = new SqlDataAdapter("SELECT TOP 100 * FROM
Fabricantes", con);
dsFabricantes.Clear();
//prencher a tabela
daFabricantes.Fill(dsFabricantes, "Fabricantes");
tabelaFabricantes.DataSource = dsFabricantes;
tabelaFabricantes.DataMember = "Fabricantes";
//para mudar o que está escrito no cabeçalho das colunas
tabelaFabricantes.Columns[1].HeaderCell.Value = "Nome do
Fabricante";
tabelaFabricantes.Columns[2].HeaderCell.Value = "Observações";
con.Close();
tabelaFabricantes.ClearSelection();
I Want to make a button to load more register in my datagridView. Onload of the app I am changing just 100 register. My question is:
How can I add a button to onClickbutton this button, my dataGrideView, Load more 100 Register and so on and so on ?
little Help
thank you
Bráulio José
c# sql sql-server
|
show 8 more comments
I have a Big doudt.
I'm trying to load my data with this code:
SqlConnection con = new SqlConnection(Login.conectData);
con.Open();
DataSet dsFabricantes = new DataSet();
SqlDataAdapter daFabricantes = new SqlDataAdapter("SELECT TOP 100 * FROM
Fabricantes", con);
dsFabricantes.Clear();
//prencher a tabela
daFabricantes.Fill(dsFabricantes, "Fabricantes");
tabelaFabricantes.DataSource = dsFabricantes;
tabelaFabricantes.DataMember = "Fabricantes";
//para mudar o que está escrito no cabeçalho das colunas
tabelaFabricantes.Columns[1].HeaderCell.Value = "Nome do
Fabricante";
tabelaFabricantes.Columns[2].HeaderCell.Value = "Observações";
con.Close();
tabelaFabricantes.ClearSelection();
I Want to make a button to load more register in my datagridView. Onload of the app I am changing just 100 register. My question is:
How can I add a button to onClickbutton this button, my dataGrideView, Load more 100 Register and so on and so on ?
little Help
thank you
Bráulio José
c# sql sql-server
Saying something like "Please Help me, is Very urgently" isn't going to get people to jump to help you; it makes your post look more like a plea, and the users here are volunteers using their own time (in fact, pleas often are more likely to be ignored by users). On topic: If you want more than 100 rows, why are you usingTOP 100
?
– Larnu
Nov 23 '18 at 15:15
Start with WPF as it has virtualization.
– paparazzo
Nov 23 '18 at 15:19
Have you tried anything so far? Have you tried adding a button and got stuck? If so please show your code.
– sr28
Nov 23 '18 at 15:32
@Larnu I put 100 because I dont want to load every 20.000 register. the app get much slowly.
– Bráulio Joelson
Nov 23 '18 at 15:33
1
Use skip and take to paginate over your results, never loading much more than what the user is looking at.
– Carlo Bos
Nov 23 '18 at 15:58
|
show 8 more comments
I have a Big doudt.
I'm trying to load my data with this code:
SqlConnection con = new SqlConnection(Login.conectData);
con.Open();
DataSet dsFabricantes = new DataSet();
SqlDataAdapter daFabricantes = new SqlDataAdapter("SELECT TOP 100 * FROM
Fabricantes", con);
dsFabricantes.Clear();
//prencher a tabela
daFabricantes.Fill(dsFabricantes, "Fabricantes");
tabelaFabricantes.DataSource = dsFabricantes;
tabelaFabricantes.DataMember = "Fabricantes";
//para mudar o que está escrito no cabeçalho das colunas
tabelaFabricantes.Columns[1].HeaderCell.Value = "Nome do
Fabricante";
tabelaFabricantes.Columns[2].HeaderCell.Value = "Observações";
con.Close();
tabelaFabricantes.ClearSelection();
I Want to make a button to load more register in my datagridView. Onload of the app I am changing just 100 register. My question is:
How can I add a button to onClickbutton this button, my dataGrideView, Load more 100 Register and so on and so on ?
little Help
thank you
Bráulio José
c# sql sql-server
I have a Big doudt.
I'm trying to load my data with this code:
SqlConnection con = new SqlConnection(Login.conectData);
con.Open();
DataSet dsFabricantes = new DataSet();
SqlDataAdapter daFabricantes = new SqlDataAdapter("SELECT TOP 100 * FROM
Fabricantes", con);
dsFabricantes.Clear();
//prencher a tabela
daFabricantes.Fill(dsFabricantes, "Fabricantes");
tabelaFabricantes.DataSource = dsFabricantes;
tabelaFabricantes.DataMember = "Fabricantes";
//para mudar o que está escrito no cabeçalho das colunas
tabelaFabricantes.Columns[1].HeaderCell.Value = "Nome do
Fabricante";
tabelaFabricantes.Columns[2].HeaderCell.Value = "Observações";
con.Close();
tabelaFabricantes.ClearSelection();
I Want to make a button to load more register in my datagridView. Onload of the app I am changing just 100 register. My question is:
How can I add a button to onClickbutton this button, my dataGrideView, Load more 100 Register and so on and so on ?
little Help
thank you
Bráulio José
c# sql sql-server
c# sql sql-server
edited Nov 23 '18 at 15:29
Bráulio Joelson
asked Nov 23 '18 at 15:13
Bráulio JoelsonBráulio Joelson
487
487
Saying something like "Please Help me, is Very urgently" isn't going to get people to jump to help you; it makes your post look more like a plea, and the users here are volunteers using their own time (in fact, pleas often are more likely to be ignored by users). On topic: If you want more than 100 rows, why are you usingTOP 100
?
– Larnu
Nov 23 '18 at 15:15
Start with WPF as it has virtualization.
– paparazzo
Nov 23 '18 at 15:19
Have you tried anything so far? Have you tried adding a button and got stuck? If so please show your code.
– sr28
Nov 23 '18 at 15:32
@Larnu I put 100 because I dont want to load every 20.000 register. the app get much slowly.
– Bráulio Joelson
Nov 23 '18 at 15:33
1
Use skip and take to paginate over your results, never loading much more than what the user is looking at.
– Carlo Bos
Nov 23 '18 at 15:58
|
show 8 more comments
Saying something like "Please Help me, is Very urgently" isn't going to get people to jump to help you; it makes your post look more like a plea, and the users here are volunteers using their own time (in fact, pleas often are more likely to be ignored by users). On topic: If you want more than 100 rows, why are you usingTOP 100
?
– Larnu
Nov 23 '18 at 15:15
Start with WPF as it has virtualization.
– paparazzo
Nov 23 '18 at 15:19
Have you tried anything so far? Have you tried adding a button and got stuck? If so please show your code.
– sr28
Nov 23 '18 at 15:32
@Larnu I put 100 because I dont want to load every 20.000 register. the app get much slowly.
– Bráulio Joelson
Nov 23 '18 at 15:33
1
Use skip and take to paginate over your results, never loading much more than what the user is looking at.
– Carlo Bos
Nov 23 '18 at 15:58
Saying something like "Please Help me, is Very urgently" isn't going to get people to jump to help you; it makes your post look more like a plea, and the users here are volunteers using their own time (in fact, pleas often are more likely to be ignored by users). On topic: If you want more than 100 rows, why are you using
TOP 100
?– Larnu
Nov 23 '18 at 15:15
Saying something like "Please Help me, is Very urgently" isn't going to get people to jump to help you; it makes your post look more like a plea, and the users here are volunteers using their own time (in fact, pleas often are more likely to be ignored by users). On topic: If you want more than 100 rows, why are you using
TOP 100
?– Larnu
Nov 23 '18 at 15:15
Start with WPF as it has virtualization.
– paparazzo
Nov 23 '18 at 15:19
Start with WPF as it has virtualization.
– paparazzo
Nov 23 '18 at 15:19
Have you tried anything so far? Have you tried adding a button and got stuck? If so please show your code.
– sr28
Nov 23 '18 at 15:32
Have you tried anything so far? Have you tried adding a button and got stuck? If so please show your code.
– sr28
Nov 23 '18 at 15:32
@Larnu I put 100 because I dont want to load every 20.000 register. the app get much slowly.
– Bráulio Joelson
Nov 23 '18 at 15:33
@Larnu I put 100 because I dont want to load every 20.000 register. the app get much slowly.
– Bráulio Joelson
Nov 23 '18 at 15:33
1
1
Use skip and take to paginate over your results, never loading much more than what the user is looking at.
– Carlo Bos
Nov 23 '18 at 15:58
Use skip and take to paginate over your results, never loading much more than what the user is looking at.
– Carlo Bos
Nov 23 '18 at 15:58
|
show 8 more comments
1 Answer
1
active
oldest
votes
You'll need to dynamically adapt your SqlDataAdapter() call.
First set some global variables on page/formOnLoad method
global int startRow = '1';
global int maxColRank = testMaxRows();
#set left button active = false
leftButton.Active = false;
To do this, class your DataGridViewLoader separately to accept no parameters. Name the class mySqlGridViewLoaderClass()
at the beginning of this class input these values:
string MaximumRows = '100';
string StartRowIndex = StartRow.ToString();
In the SQL connector for this DataGridViewLoader, use a query similar to
SELECT colRank, col1, col2
FROM
(SELECT col1, col2,
ROW_NUMBER() OVER(ORDER BY col2 DESC) AS colRank
FROM Fabricantes
) AS rowNumQuery
WHERE colRank > <i>StartRowIndex</i> AND
colRank <= (<i>StartRowIndex</i> + <i>MaximumRows</i>
)
Your class should perform DataGridView loading operation, then return a second scalar value for MAX(colRank).
#new connector
SqlDataAdapter daFabricantes = new SqlDataAdapter("SELECT Max(colRank) FROM
(SELECT max(colRank)
FROM
(SELECT col1, col2,
ROW_NUMBER() OVER(ORDER BY col2 DESC) AS colRank
FROM Fabricantes
) AS rowNumQuery
WHERE colRank > <i>StartRowIndex</i> AND
colRank <= (<i>StartRowIndex</i> + <i>MaximumRows</i>
))", con2);
int mr = (Int32) con2.ExecuteScalar();
return mr;
class a second SQL connector loader to test max Rows and return a scalar value. name the class testMaxRows()
In the sql connector, use a query similar to:
Select count(col1) DIST from fabricantes;
Return the count to the tr variable. The last 2 lines of maxRows class should be:
int tr = (Int32) con.ExecuteScalar();
return tr;
In your form designer, create a button for '<' and '>'
Set < button to inactive. > button to active
In the '<' ButtonOnClick() event:
rightButton.Active = true;
if (StartRow != '1')
{
StartRow -= 100;
# your class expects a return value, so we'll initialize one
int mr = (Int32) mySqlGridViewLoaderClass();
if (StartRow == 1)
{
leftButton.Active = false;
}
}
In the '>' ButtonOnClick() event:
leftButton.Active = true;
StartRow += 100;
int maxRank = (Int32) mySqlGridViewLoaderClass();
if ( maxRank >= maxColRank)
{
rightButton.Active = false;
}
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53449116%2fbutton-to-load-more-data-to-datagridview-more-than-20000-register-c-sharp%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
You'll need to dynamically adapt your SqlDataAdapter() call.
First set some global variables on page/formOnLoad method
global int startRow = '1';
global int maxColRank = testMaxRows();
#set left button active = false
leftButton.Active = false;
To do this, class your DataGridViewLoader separately to accept no parameters. Name the class mySqlGridViewLoaderClass()
at the beginning of this class input these values:
string MaximumRows = '100';
string StartRowIndex = StartRow.ToString();
In the SQL connector for this DataGridViewLoader, use a query similar to
SELECT colRank, col1, col2
FROM
(SELECT col1, col2,
ROW_NUMBER() OVER(ORDER BY col2 DESC) AS colRank
FROM Fabricantes
) AS rowNumQuery
WHERE colRank > <i>StartRowIndex</i> AND
colRank <= (<i>StartRowIndex</i> + <i>MaximumRows</i>
)
Your class should perform DataGridView loading operation, then return a second scalar value for MAX(colRank).
#new connector
SqlDataAdapter daFabricantes = new SqlDataAdapter("SELECT Max(colRank) FROM
(SELECT max(colRank)
FROM
(SELECT col1, col2,
ROW_NUMBER() OVER(ORDER BY col2 DESC) AS colRank
FROM Fabricantes
) AS rowNumQuery
WHERE colRank > <i>StartRowIndex</i> AND
colRank <= (<i>StartRowIndex</i> + <i>MaximumRows</i>
))", con2);
int mr = (Int32) con2.ExecuteScalar();
return mr;
class a second SQL connector loader to test max Rows and return a scalar value. name the class testMaxRows()
In the sql connector, use a query similar to:
Select count(col1) DIST from fabricantes;
Return the count to the tr variable. The last 2 lines of maxRows class should be:
int tr = (Int32) con.ExecuteScalar();
return tr;
In your form designer, create a button for '<' and '>'
Set < button to inactive. > button to active
In the '<' ButtonOnClick() event:
rightButton.Active = true;
if (StartRow != '1')
{
StartRow -= 100;
# your class expects a return value, so we'll initialize one
int mr = (Int32) mySqlGridViewLoaderClass();
if (StartRow == 1)
{
leftButton.Active = false;
}
}
In the '>' ButtonOnClick() event:
leftButton.Active = true;
StartRow += 100;
int maxRank = (Int32) mySqlGridViewLoaderClass();
if ( maxRank >= maxColRank)
{
rightButton.Active = false;
}
add a comment |
You'll need to dynamically adapt your SqlDataAdapter() call.
First set some global variables on page/formOnLoad method
global int startRow = '1';
global int maxColRank = testMaxRows();
#set left button active = false
leftButton.Active = false;
To do this, class your DataGridViewLoader separately to accept no parameters. Name the class mySqlGridViewLoaderClass()
at the beginning of this class input these values:
string MaximumRows = '100';
string StartRowIndex = StartRow.ToString();
In the SQL connector for this DataGridViewLoader, use a query similar to
SELECT colRank, col1, col2
FROM
(SELECT col1, col2,
ROW_NUMBER() OVER(ORDER BY col2 DESC) AS colRank
FROM Fabricantes
) AS rowNumQuery
WHERE colRank > <i>StartRowIndex</i> AND
colRank <= (<i>StartRowIndex</i> + <i>MaximumRows</i>
)
Your class should perform DataGridView loading operation, then return a second scalar value for MAX(colRank).
#new connector
SqlDataAdapter daFabricantes = new SqlDataAdapter("SELECT Max(colRank) FROM
(SELECT max(colRank)
FROM
(SELECT col1, col2,
ROW_NUMBER() OVER(ORDER BY col2 DESC) AS colRank
FROM Fabricantes
) AS rowNumQuery
WHERE colRank > <i>StartRowIndex</i> AND
colRank <= (<i>StartRowIndex</i> + <i>MaximumRows</i>
))", con2);
int mr = (Int32) con2.ExecuteScalar();
return mr;
class a second SQL connector loader to test max Rows and return a scalar value. name the class testMaxRows()
In the sql connector, use a query similar to:
Select count(col1) DIST from fabricantes;
Return the count to the tr variable. The last 2 lines of maxRows class should be:
int tr = (Int32) con.ExecuteScalar();
return tr;
In your form designer, create a button for '<' and '>'
Set < button to inactive. > button to active
In the '<' ButtonOnClick() event:
rightButton.Active = true;
if (StartRow != '1')
{
StartRow -= 100;
# your class expects a return value, so we'll initialize one
int mr = (Int32) mySqlGridViewLoaderClass();
if (StartRow == 1)
{
leftButton.Active = false;
}
}
In the '>' ButtonOnClick() event:
leftButton.Active = true;
StartRow += 100;
int maxRank = (Int32) mySqlGridViewLoaderClass();
if ( maxRank >= maxColRank)
{
rightButton.Active = false;
}
add a comment |
You'll need to dynamically adapt your SqlDataAdapter() call.
First set some global variables on page/formOnLoad method
global int startRow = '1';
global int maxColRank = testMaxRows();
#set left button active = false
leftButton.Active = false;
To do this, class your DataGridViewLoader separately to accept no parameters. Name the class mySqlGridViewLoaderClass()
at the beginning of this class input these values:
string MaximumRows = '100';
string StartRowIndex = StartRow.ToString();
In the SQL connector for this DataGridViewLoader, use a query similar to
SELECT colRank, col1, col2
FROM
(SELECT col1, col2,
ROW_NUMBER() OVER(ORDER BY col2 DESC) AS colRank
FROM Fabricantes
) AS rowNumQuery
WHERE colRank > <i>StartRowIndex</i> AND
colRank <= (<i>StartRowIndex</i> + <i>MaximumRows</i>
)
Your class should perform DataGridView loading operation, then return a second scalar value for MAX(colRank).
#new connector
SqlDataAdapter daFabricantes = new SqlDataAdapter("SELECT Max(colRank) FROM
(SELECT max(colRank)
FROM
(SELECT col1, col2,
ROW_NUMBER() OVER(ORDER BY col2 DESC) AS colRank
FROM Fabricantes
) AS rowNumQuery
WHERE colRank > <i>StartRowIndex</i> AND
colRank <= (<i>StartRowIndex</i> + <i>MaximumRows</i>
))", con2);
int mr = (Int32) con2.ExecuteScalar();
return mr;
class a second SQL connector loader to test max Rows and return a scalar value. name the class testMaxRows()
In the sql connector, use a query similar to:
Select count(col1) DIST from fabricantes;
Return the count to the tr variable. The last 2 lines of maxRows class should be:
int tr = (Int32) con.ExecuteScalar();
return tr;
In your form designer, create a button for '<' and '>'
Set < button to inactive. > button to active
In the '<' ButtonOnClick() event:
rightButton.Active = true;
if (StartRow != '1')
{
StartRow -= 100;
# your class expects a return value, so we'll initialize one
int mr = (Int32) mySqlGridViewLoaderClass();
if (StartRow == 1)
{
leftButton.Active = false;
}
}
In the '>' ButtonOnClick() event:
leftButton.Active = true;
StartRow += 100;
int maxRank = (Int32) mySqlGridViewLoaderClass();
if ( maxRank >= maxColRank)
{
rightButton.Active = false;
}
You'll need to dynamically adapt your SqlDataAdapter() call.
First set some global variables on page/formOnLoad method
global int startRow = '1';
global int maxColRank = testMaxRows();
#set left button active = false
leftButton.Active = false;
To do this, class your DataGridViewLoader separately to accept no parameters. Name the class mySqlGridViewLoaderClass()
at the beginning of this class input these values:
string MaximumRows = '100';
string StartRowIndex = StartRow.ToString();
In the SQL connector for this DataGridViewLoader, use a query similar to
SELECT colRank, col1, col2
FROM
(SELECT col1, col2,
ROW_NUMBER() OVER(ORDER BY col2 DESC) AS colRank
FROM Fabricantes
) AS rowNumQuery
WHERE colRank > <i>StartRowIndex</i> AND
colRank <= (<i>StartRowIndex</i> + <i>MaximumRows</i>
)
Your class should perform DataGridView loading operation, then return a second scalar value for MAX(colRank).
#new connector
SqlDataAdapter daFabricantes = new SqlDataAdapter("SELECT Max(colRank) FROM
(SELECT max(colRank)
FROM
(SELECT col1, col2,
ROW_NUMBER() OVER(ORDER BY col2 DESC) AS colRank
FROM Fabricantes
) AS rowNumQuery
WHERE colRank > <i>StartRowIndex</i> AND
colRank <= (<i>StartRowIndex</i> + <i>MaximumRows</i>
))", con2);
int mr = (Int32) con2.ExecuteScalar();
return mr;
class a second SQL connector loader to test max Rows and return a scalar value. name the class testMaxRows()
In the sql connector, use a query similar to:
Select count(col1) DIST from fabricantes;
Return the count to the tr variable. The last 2 lines of maxRows class should be:
int tr = (Int32) con.ExecuteScalar();
return tr;
In your form designer, create a button for '<' and '>'
Set < button to inactive. > button to active
In the '<' ButtonOnClick() event:
rightButton.Active = true;
if (StartRow != '1')
{
StartRow -= 100;
# your class expects a return value, so we'll initialize one
int mr = (Int32) mySqlGridViewLoaderClass();
if (StartRow == 1)
{
leftButton.Active = false;
}
}
In the '>' ButtonOnClick() event:
leftButton.Active = true;
StartRow += 100;
int maxRank = (Int32) mySqlGridViewLoaderClass();
if ( maxRank >= maxColRank)
{
rightButton.Active = false;
}
edited Nov 23 '18 at 17:21
answered Nov 23 '18 at 17:13
RickMadiganRickMadigan
192
192
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53449116%2fbutton-to-load-more-data-to-datagridview-more-than-20000-register-c-sharp%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Saying something like "Please Help me, is Very urgently" isn't going to get people to jump to help you; it makes your post look more like a plea, and the users here are volunteers using their own time (in fact, pleas often are more likely to be ignored by users). On topic: If you want more than 100 rows, why are you using
TOP 100
?– Larnu
Nov 23 '18 at 15:15
Start with WPF as it has virtualization.
– paparazzo
Nov 23 '18 at 15:19
Have you tried anything so far? Have you tried adding a button and got stuck? If so please show your code.
– sr28
Nov 23 '18 at 15:32
@Larnu I put 100 because I dont want to load every 20.000 register. the app get much slowly.
– Bráulio Joelson
Nov 23 '18 at 15:33
1
Use skip and take to paginate over your results, never loading much more than what the user is looking at.
– Carlo Bos
Nov 23 '18 at 15:58