QueryBuilder;
private string MongoQueryJson = "";
private void ExportMongoQuery() {
RuleModel rules = QueryBuilder.GetValidRules();
string mongoQuery = QueryBuilder.GetMongoQuery(rules);
// Pretty print the JSON
JsonDocument jsonDoc = JsonDocument.Parse(mongoQuery);
MongoQueryJson = JsonSerializer.Serialize(jsonDoc.RootElement, new JsonSerializerOptions {
WriteIndented = true
});
}
}
```
**Output Example:**
```json
{
"$and": [
{ "OrderID": { "$eq": 1000 } },
{ "CustomerName": { "$regex": "Acme", "$options": "i" } }
]
}
```
### Import Query Methods
You can also import queries back into the Query Builder:
```razor
@code {
// Import from SQL
private void ImportSQL(string sqlQuery) {
QueryBuilder.SetRulesFromSql(sqlQuery);
}
// Import from Parameterized SQL
private void ImportParameterSQL(ParameterSql paramSql) {
QueryBuilder.SetParameterSql(paramSql);
}
// Import from Named Parameter SQL
private void ImportNamedParameterSQL(NamedParameterSql namedParamSql) {
QueryBuilder.SetNamedParameterSql(namedParamSql);
}
// Import from MongoDB Query
private void ImportMongoQuery(string mongoQuery) {
QueryBuilder.SetMongoQuery(mongoQuery);
}
}
```
### Complete Query Export/Import Example
```razor
@page "/query-export-demo"
@using Syncfusion.Blazor.QueryBuilder
@using Syncfusion.Blazor.Buttons
@using System.Text.Json
Export SQL
Export Parameter SQL
Export Named SQL
Export MongoDB
@OutputTitle
@OutputQuery
@code {
private SfQueryBuilder QueryBuilder;
private string OutputQuery = "";
private string OutputTitle = "";
private void ExportQuery(string format) {
RuleModel rules = QueryBuilder.GetValidRules();
switch(format) {
case "SQL":
OutputTitle = "Inline SQL Query";
OutputQuery = QueryBuilder.GetSqlFromRules(rules);
break;
case "ParameterSQL":
OutputTitle = "Parameterized SQL Query";
ParameterSql paramSql = QueryBuilder.GetParameterSql(rules);
OutputQuery = JsonSerializer.Serialize(paramSql, new JsonSerializerOptions {
WriteIndented = true,
Encoder = System.Text.Encodings.Web.JavaScriptEncoder.UnsafeRelaxedJsonEscaping
});
break;
case "NamedSQL":
OutputTitle = "Named Parameter SQL Query";
NamedParameterSql namedSql = QueryBuilder.GetNamedParameterSql(rules);
OutputQuery = JsonSerializer.Serialize(namedSql, new JsonSerializerOptions {
WriteIndented = true,
Encoder = System.Text.Encodings.Web.JavaScriptEncoder.UnsafeRelaxedJsonEscaping
});
break;
case "MongoDB":
OutputTitle = "MongoDB Query";
string mongoQuery = QueryBuilder.GetMongoQuery(rules);
JsonDocument jsonDoc = JsonDocument.Parse(mongoQuery);
OutputQuery = JsonSerializer.Serialize(jsonDoc.RootElement, new JsonSerializerOptions {
WriteIndented = true
});
break;
}
}
public class Order {
public int OrderID { get; set; }
public string CustomerName { get; set; }
public DateTime OrderDate { get; set; }
public decimal Amount { get; set; }
}
}
```
## Key Features at a Glance
| Feature | Use Case | Reference |
|---------|----------|-----------|
| **Drag-Drop Rules** | Reorder conditions interactively | [advanced-features.md](references/advanced-features.md) |
| **Clone Groups/Rules** | Duplicate complex query structures | [advanced-features.md](references/advanced-features.md) |
| **Lock Groups/Rules** | Prevent editing of specific conditions | [advanced-features.md](references/advanced-features.md) |
| **Nested Groups** | Complex multi-condition logic | [filtering-and-rules.md](references/filtering-and-rules.md) |
| **Event Tracking** | React to query changes | [events-and-callbacks.md](references/events-and-callbacks.md) |
| **State Persistence** | Save/restore queries | [advanced-features.md](references/advanced-features.md) |
| **Localization** | Multi-language support | [localization-and-accessibility.md](references/localization-and-accessibility.md) |
| **Custom Templates** | Branded UI | [customization-and-styling.md](references/customization-and-styling.md) |
## Next Steps
1. Start with [references/getting-started.md](references/getting-started.md) to set up your environment
2. Follow [references/basic-setup.md](references/basic-setup.md) for component configuration
3. Explore [references/filtering-and-rules.md](references/filtering-and-rules.md) for core filtering logic
4. Handle queries with [references/events-and-callbacks.md](references/events-and-callbacks.md)
5. Refer to other guides as needed for advanced scenarios